exercise sql injection

面白いの見つけたので紹介します.

脆弱性を突くチャレンジ的なやつ.

まだ見つけたばかりで全部やっていなくてレベル感が分からないけど,知見になりそう.

github.com

今のところ

- Social Engineering

- XSS

- CSRF

- SQL Injection

- File Upload

に関するチャレンジができます〜(といっても自分で環境を構築しないといけない)

 

SQL Injection Challengeを途中までやったけどWrite-Upとか公開していいか分からないのでChallenge1だけ紹介

 

Vagrantとかで適当に環境を構築してください(試してないけどHerokuでもできるっぽい?)

- PHP

- MySQL

- Webサーバ (僕はApache使った)

- dbdata.sqlというのがあるので適当なdatabase作って取り込む

そしてローカルに立てたサーバにアクセスすると下のような画面が出ます

f:id:tsunpoko:20160516172347p:plain

左下の "REGISTER NOW!" を押して適当にユーザ作ってください.

 

※ちゃんと表示されなかったたらエラーログを見ながら解決するといいです. 調べながらやると解決できました.

 

HackMe-SQL-Injection-Challenges/challenge_1.md at master · breakthenet/HackMe-SQL-Injection-Challenges · GitHub

itemmarket.phpにSQLiの脆弱性があると書いているのでソースを見ます.

ソースを見ながら脆弱性を探せるので学ぶのには丁度良さそう.

133行目,GETでユーザの入力をそのまま処理している箇所がありここがSQLインジェクションチャンス

 

悪意のあるリクエストを送ってあげました.

apacheaccess_logを見てみると

f:id:tsunpoko:20160516221326p:plain

きちんと悪意のあるリクエストが飛んでいます

自分でこうしてログ見て攻撃を疑似体験するの面白い〜w

tableが消えてしまいました

f:id:tsunpoko:20160516221352p:plain 

f:id:tsunpoko:20160516221413p:plain

これだとマズいので,

しっかりエスケープ処理することが大事って思いますね

 

まだ他にもSQLiチャレンジ以外にもあるので

遊んでいきたい