exercise sql injection
面白いの見つけたので紹介します.
脆弱性を突くチャレンジ的なやつ.
まだ見つけたばかりで全部やっていなくてレベル感が分からないけど,知見になりそう.
今のところ
- Social Engineering
- XSS
- CSRF
- SQL Injection
- File Upload
に関するチャレンジができます〜(といっても自分で環境を構築しないといけない)
SQL Injection Challengeを途中までやったけどWrite-Upとか公開していいか分からないのでChallenge1だけ紹介
Vagrantとかで適当に環境を構築してください(試してないけどHerokuでもできるっぽい?)
- PHP
- MySQL
- Webサーバ (僕はApache使った)
- dbdata.sqlというのがあるので適当なdatabase作って取り込む
そしてローカルに立てたサーバにアクセスすると下のような画面が出ます
左下の "REGISTER NOW!" を押して適当にユーザ作ってください.
※ちゃんと表示されなかったたらエラーログを見ながら解決するといいです. 調べながらやると解決できました.
itemmarket.phpにSQLiの脆弱性があると書いているのでソースを見ます.
ソースを見ながら脆弱性を探せるので学ぶのには丁度良さそう.
133行目,GETでユーザの入力をそのまま処理している箇所がありここがSQLインジェクションチャンス
悪意のあるリクエストを送ってあげました.
きちんと悪意のあるリクエストが飛んでいます
自分でこうしてログ見て攻撃を疑似体験するの面白い〜w
tableが消えてしまいました
これだとマズいので,
しっかりエスケープ処理することが大事って思いますね
まだ他にもSQLiチャレンジ以外にもあるので
遊んでいきたい