akkietech’s diary

セキュリティ関連メインの自分用メモ書き。twitter: @akkietech

SQLインジェクション実験記録

LPIC303の勉強の流れでwiresharkのパケットキャプチャ

 

過去にRUBYで作った簡易webページでSQLインジェクションの脆弱性調査を実験

 

--------------

"select * from list where #{where_data}"

where_data = "where #{name}= '#{req.query[name]}'"

---------------

このコードの脆弱性を突くために、下記コードを入力欄に挿入

1' or 'a'='a

 

よってクエリ送信時に以下のコードが完成し、脆弱性の存在を発見できた

"select * from list where where #{name}= '1' or 'a'='a'"

 

ちなみに成功するまで時間がかかったのは

シングルクオテーションがなんかやっかいな形があったから

多分バッククオテーションと間違えてたのかな

誤 1’ or ‘a’=‘a

正 1' or 'a'='a

 

wiresharkでPOSTメソッド通信の流れも確認、丸見え

実験終盤にフィルタリングの方法がLPIC3の黒本でようやく分かるっていう

 

あとnmapもたくさんした

ackのウィンドウサイズ0はよく分からんが、wiresharkでnmapスキャン時の流れは見れた

それ以外のステルススキャンは返信無ければポートが空いているらしい

 

tcpdumpもやったけどCUIはやっぱり見にくい

今度telnetのメール受信でパスワード見れるかどうか試してみようかな