




可以推测,检查是否为JPEG/PNG图,是依靠文件的后缀、文件头字段信息来进行双重检测的。为此,要尝试将木马明文写在真实JPEG/PNG图片中。





然而直接包含显示文件不存在

发现必须以file打头或者为include.php文件,为此可以通过file://伪协议实现调用文件

得到几条路径:
D:\phpStudy_64\phpstudy_pro\WWW\DVWA-master\vulnerabilities\fi\index.php
http://127.0.0.1/DVWA-master/vulnerabilities/fi/?page=include.php
再根据文件上传路径时的信:
http://127.0.0.1/DVWA-master/vulnerabilities/upload/#
../../hackable/uploads/1.jpeg succesfully uploaded!
可得文件上传所在目录和文件包含所在目录的位置关系
http://127.0.0.1/DVWA-master/vulnerabilities/fi/?page=file:///D:\phpStudy_64\phpstudy_pro\WWW\DVWA-master\hackable\uploads\jpegphpinfo.jpeg

虽然报语法错,但确实包含了——然而报错位置是图片原先的部分——这意味着拼接在最后的木马还是首先会遇到上述报错。



没有错。




看起来没有问题,接下来用蚁剑连接



通过本实验,我学会了文件上传漏洞和文件包含漏洞的利用方式。一方面,(任意)文件上传漏洞指的是上传非预期的文件格式(如php文件)到目标服务器,而通过其他方式(直连、包含等)进行执行来进一步利用。另一方面,利用文件包含漏洞,能够把静态文件中的php代码通过回显转发的方式进行包含执行。
过程中遇到很多问题:1.high的包含漏洞保护措施没有关注 2.一些jpeg/png图片被解析时,自身的一些字符会被错误识别为php代码,而往往会导致语法错误,通过copy到最后的隐写代码将不被执行,本例中我重新选了一个图片即可解决。