Lord Of SQL Injection [ 11. Golem ]

2017. 9. 13. 18:03WebHacking/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> 실행 결과

 


[ 파이썬 자동화 프로그래밍 ]

[ 작성코드 ]


[ 실행결과 ]