Wargame/Webhacking.kr Writeup
Webhacking.kr old:22 Write up
Ate1es
2021. 7. 16. 10:16
로그인 페이지와 회원가입 페이지가 있었는데, 로그인 페이지 username 부분에 Blind Sql injection이 터지는 것 같았다.
이유 :
admin' and 1=1# --> 참인값 입력 시 Wrong password! 나옴
admin' and 1=2# --> 거짓인 값 입력 시 Login Fail! 나옴
위 구문을 기반으로 파이썬 코드를 작성했다.
위에 사용된 SQL 구문은
admin' and ascii(substring(pw,1,1))=97#
이다.
간단히 분석하면, [ pw의 첫번째 글자의 아스키 코드 = 97 ] 인지 비교하는 구문이다.
만약 이게 참이라면 Wrong password 라는 문구가 출력되므로, 참일 때 해당 문자를 출력하게 했다.
저 hash값을 온라인 디코더로 디코딩하면,
wowapple이라는 admin의 비밀번호가 나온다. 풀었나?
싶었지만 wowapple로는 로그인이 되지않았다.
이유:
아래 이미지는 guest의 비밀번호 guest의 해쉬값을 디코딩 한 것이다. 보이는 것과 같이 apple이라는 salt값이 추가되는 것을 확인할 수 있다.
따라서 admin의 비밀번호는[ wow ]