ファイルが含まれています
ファイルには、ローカル含まれてい
あなたがの内容を読み取ることができるようにまず、発見さ../てみました
ファイルには、(リモート)が含まれてい
まず第一に
彼の開いたオープン。そして、それは従来の入力URLがhttp://172.22.38.205/pikachu/vul/fileinclude/fi_remote.php?filename=include%2Ffile1.php&submit=%E6%8F%90%E4%BA%A4%E6%であることがわかったテスト9F%A5%E8%AF%A2
それ含める/ file1.php&提出=照会を提出
それが開きますのでallow_url_includeを直接URLテストを受けます
成功を見つけ、その後、このページには、XSSを持参することができるかもしれません。最後にプラグを塗りつぶし
ダウンロード
まず、Etherealの
パラメータが渡さとしてここでは、などのファイル名でなければなりません
また、直接ファイル名= .. / .. / fll.txtダウンロードします。それは見つけることができます。
クライアントのチェックにファイルをアップロード
まず、気軽に試します
位置を考慮して、ファイルの種類の問題を思い出すことが判明、実際に彼が提出されたフォームをリセットする権限を持っていなかった、それはまだ簡単にアップロードすることができます
この方法では、推定をバイパスし、他の欲求は同じではありません
次に来ました
ここcheckFileExtを探す(this.value)
転送はGIF、PNG、JPG、ここで見つけることができます
そして、ここで再び逃げる12.phpに取り込みます。
MINEタイプ
それはMINEタイプですので。だから我々は、コンテンツタイプのパッケージを変更するために注意を払う必要があります
に変更されました
これは仕事を取得します
getimagesize
あるいは、どのような場合に何かを配置しようとします
変更の外観
PHPのgetimagesize画像を取得するために使用されるパラメータの関数です。
彼はほとんどARRYようなものです
Array
(
[0] => x [1] => y [2] => z [3] => width="x" height="y" [bits] => 8 [mime] => image/png )
- 索引 0 给出的是图像宽度的像素值
- 索引 1 给出的是图像高度的像素值
- 索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM
- 索引 3 给出的是一个宽度和高度的字符串,可以直接用于 HTML 的 <image> 标签
- 索引 bits 给出的是图像的每种颜色的位数,二进制格式
- 索引 channels 给出的是图像的通道值,RGB 图像默认是 3
- 索引 mime 给出的是图像的 MIME 信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如: header("Content-type: image/jpeg");
做一个图片马
那就弄一个
http://172.22.38.205/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2019/12/27/2907935e05aa6adb014892322226.jpg&submit=%E6%8F%90%E4%BA%A4&y=whoami
然后就成了