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,然后修改类型

行不通,发现会判断后缀名。

我们只好先采取之前文件包含的方式来进行代码执行。

posted @ 2019-12-25 09:43  P201721410015  阅读(170)  评论(0)    收藏  举报