Webhacking.kr 21번 문제 풀이
21번 문제는 보너스 문제라고 표시가 되어있다
웹 해킹 문제가 그렇듯이
대부분이 거기서 거기인듯하다..
한번 21번 문제를 클릭해보자
아래와 같은 화면을 볼 수 있다
일단 소스보기 부터 해보자
히든값으로 id와 pw도 입력한 no값과 함께 전달되는걸 알 수 있다
일단 입력 값부터 테스트해보자
0을 입력했을 때
반응 없음
1을 입력했을 때
Ture
2를 입력했을 때
Ture
3 이상을 입력했을 때
False
1과 2를 입력했을 때만 Ture가 나오는걸 볼 수 있다
필터링 되는 단어가 있는지 테스트 하고
Blind SQL Injection 테스트를 해본다
1 and 1=0 을 입력했을 때
False
1 and 1=1을 입력했을 때
True
이로써 Blind SQL Injection을 실행할 수 있게 되었다
if, in, select, ord, substr 을 이용하여 True가 나오는 값을 찾아냈다
no=1일 때 id 값
no=2일 때 id 값
no=1일 때 pw 값
no=2일 때 pw 값
여기서 admin 의 pw 값이 답이다
찾아낼때 사용한 파이썬 코드
Auth 페이지로 이동하여 찾아낸 답을 입력하면
21번 문제도 클리어 된다~!