# 2020/07/05 upper layer progress 2020/07/05の勉強会 ***今回の問題は再現不可能なので注意*** ## [websec.fr](http://websec.fr/#) level 28 http://websec.fr/level28/index.php ### 問題概要 ![](https://i.imgur.com/v0Af0KG.png) 正式動作はflag.phpをアップロードし、チェックサムをバイパスすればよい。 ```$_POST['checksum'] == crc32($_POST['checksum'])``` ここで数値と文字列の緩い比較が存在しているが、ここを通過するためには頭文字8文字を合致させる必要があるので現実的でない。 ### 問題解法 全体的な[ソースコード](http://websec.fr/level28/source.php)の流れとしては、受け取ったデータを```md5(yourip).php```に保存し、比較を行った後にそれを削除している。 また、このファイル作成からファイル削除までの間に1秒以上の猶予があることが分かる。 よって、この時間の中でflag.phpを覗くようなコードを送り、そのphpを閲覧すればよい。 - [python](https://github.com/ch4n3-yoon/write-ups/blob/master/websec.fr/level28/exploit.py) 何度かやってみたが、ファイルの生成ができていないようで404 not found と表示されてしまう。