Challenge 40 시작!!
입력하는 파라미터 값은 no, id, pw 가 있다.
디폴트로 입력된 값 그대로 로그인 해보았다.
그 결과, 위와 같이 Success - guest 가 출력된다.
no 부분에 참으로 만드는 조건을 넣고 다시 시도해보았다.
띄어쓰기가 필터링되어 있어서 사용하지 않았다.
쿼리는 ?no=0||1=1&id=guest&pw=guest 이다.
success 가 잘 출력되었으니 이를 이용하여 조건을 만들어보자!
일단 admin 이라는 id 가 있는지 확인해보았다.
id='admin' 으로 찾았을 때는 failure 이 떠서 아래와 같이 헥사값으로 쿼리를 날렸더니 새로운 입력창이 떴다.
admin 과 관련된 쿼리가 참이면 해당 폼을 출력해주는 주는 것 같다.
이를 이용하여 admin 정보를 알아내는 Blind SQL Injection 을 수행해보자!!
아래와 같이 Python 코드를 작성하여 실행했다.
결과는 다음과 같았다.
두 번째 패스워드는 찾지 못했다. 이유는 guest 의 패스워드인 guest 와 두 번째 자리가 같기 때문일 것이다.
guest 의 u 를 먼저 찾아 'admin password' 라는 출력문이 뜨지 않은 것이다.
때문에 두 번째 자리에 u 를 넣고 입력해보았다.
성공!!
'WarGame > webhacking.kr' 카테고리의 다른 글
Challenge 42 (0) | 2020.04.24 |
---|---|
Challenge 41 (0) | 2020.04.24 |
Challenge 39 (0) | 2020.03.11 |
Challenge 38 (0) | 2020.03.11 |
Challenge 37 (0) | 2020.03.07 |