Web实验 文件包含,下载,上传
一 文件包含:
1 本地文件包含:
发现url里面包含了一个文件,我们修改url,放入一个txt,里面有php执行语句。
读取了txt文档的内容并进行了执行。
2 远程文件包含
我们改变url包含文件的地址
http://172.22.249.92:88/pikachu/vul/fileinclude/fi_remote.php?filename=https://www.cnblogs.com/p201721410015/&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
包含的远程文件进行了显示
二 文件下载:
点击名字显示了这样的画面。
我们复制一下下载连接
http://172.22.249.92:88/pikachu/vul/unsafedownload/execdownload.php?filename=kb.png
我们发现下载传一个参数就行修改这一连接
http://172.22.249.92:88/pikachu/vul/unsafedownload/execdownload.php?filename=../../../1.txt
于是能够对任意路径的文件进行下载。
三 文件上传
1 客户端check
我们看到这是通过前端进行验证的。我们可以修改数据包来绕过前端。
这里我们一个txt文档来代替木马文件。
修改为jpg格式,上传,拦截
修改为txt,forward
可以看到已经上传进去。
2 MIME type
通过看网页源码文件,发现并没有前端验证
但不能传输其他类型文件,发现它是先前端判断文件类型,但还是可以点击上传的,这样我们修改数据包中的文件类型即可。
先看一下正常流量包的类型
发现要改为image/jpeg
做修改后上传
上传成功
3 getimagesize
前端依然没有验证,我们尝试一个被明名为jpg的php文件。
会提示为加图片,说明后端会做一定的检验
通过后台源码,发现是判断文件是否有图片属性
尝试加到图片后面,改为php,然后修改类型
行不通,发现会判断后缀名。
我们只好先采取之前文件包含的方式来进行代码执行。


浙公网安备 33010602011771号