SQL 인젝션 ? 사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점이다.
GET/Search 난이도 하 작은 따옴표(')의 역할 데이터베이스에서 작은따옴표로 문자 데이터를 구분하기 때문에, 웹 서버에서 데이터베이스 서버에 질의하는 쿼리에 문법 오류가 발생하게 된다. 이를 통해 서버가 어떤 데이터베이스 종류를 사용하는지 알 수 있다.
데이터베이스의 종류를 알아야 하는이유 데이터베이스는 종류에 따라 SQL구문이 차이가 있기 때문에 알아야 한다 작은따옴표(')를 입력하여 오류가 발생했고, 웹 서버는 MYSQL을 사용하고 있는 것을 알수 있다. 'or 1=1' 첫 작은 따옴표 앞구문의 내용과는 상관없이 '1=1'항상 참의 결과를 항상 참으로 만드는 쿼리이다.
만약 '#' 뒤에 주석이 존재한다면 ? 주석'#'은 해석을 하지 않는 부분이다.
그래서 주석이 있을 경우 뒤에 내용들은 무시하게 된다. ' or 1...
#
GET
#
select
#
SQLInjection
#
Unionsqlinjection
원문 링크 : SQL 인젝션 - GET/Search