HTS Realistic missions 4
Hack this siteのRealistic missions 4をやりました。いきなり難しくなったような。
ネタばれ
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
Fischer's Animal Products
動物を殺して毛皮などを売っているサイトからメーリングリストのアドレスを盗み出してくれというミッション。
まずトップページのメーリングリスト登録用フォームを使うと、メールアドレスを保存しているデータベースのテーブル名が分かりました。
このテーブルのデータを盗み出せばいいわけで、必然的に攻撃対象はデータベースからの読み出しをしているであろう商品ページとなります。このページのURLは
..products.php?category=1
の様になっていてこのcategory=1の部分を変更すると表示されるデータをいろいろといじれたのでここからSQLインジェクションができそうです。
んでつまったのが違うテーブルからデータを読み出す方法。
SQL Injection Cheat SheetによるとUNIONコマンドを使えばできるとの事でした。
UNIONコマンドを使うポイントは二つのSELECTのカラム数が同じでなければいけないという点。
select item1, item2, item3 from table1 where .... union all select <ここがちょうど3つでなければいけない> from table2
このカラム数を調べる為にはORDER BYコマンドを使えば良いらしいです。
以上を上手く使えばクリア出来ます。後は調べたリストをMessege Centerから依頼者に送ればOK.