免责声明
本博客文章仅供教育和研究目的使用。本文中提到的所有信息和技术均基于公开来源和合法获取的知识。本文不鼓励或支持任何非法活动,包括但不限于未经授权访问计算机系统、网络或数据。
作者对于读者使用本文中的信息所导致的任何直接或间接后果不承担任何责任。包括但不限于因使用本文所述技术而可能导致的法律诉讼、财产损失、隐私泄露或其他任何形式的责任。
在进行任何渗透测试或安全研究之前,请确保您已获得所有必要的授权,并遵守适用的法律和道德准则。未经授权的安全测试可能违反法律,并可能导致严重的法律后果。
本文中的内容仅供参考,不应被视为专业建议。在进行任何安全相关活动之前,建议咨询具有相应资质的专业人士。
第六关
分析源码,发现并没有进行大小写过滤

我们直接使用后缀名大小写绕过就行了
抓包,并拦截返回包

查看返回包中的文件路径

访问该文件并加上参数,访问成功

第七关
分析源码,这关源码删去了trim()函数,也就是用来去除字符串两端的空格,所以我们如果在上传文件的后缀名里面加上空格,不属于黑名单内容,我们就可以成功进行上传

上传php文件并进行抓包,在文件后缀名之后加上空格,并拦截返回包

查看返回包中文件的路径

访问该文件并加上参数,访问成功

第八关
分析源码,发现这一关并没有过滤点,我们可以尝试文件后缀名加点来进行绕过防护,和之前说的一样windows访问时会自动忽略文件后缀名之后的点

上传php文件在文件名后加上点,并进行抓包且拦截返回包

放包查看返回包中上传文件的路径

访问该文件并加上参数,访问成功

第九关
分析源码,发现::$DATA特殊符号没有加入黑名单,所以我们上传文件的时候可以抓包在文件名之后加上::$DATA
::$DATA(只适用于windows系统)在windows的时候如果文件名“+::$DATA”会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名绕过,比如上传的文件名为xxx.php::$DATA会在服务器上重新生成一个xxx.php文件,其中内容和所上传的文件内容相同,并被解析。

抓包测试,并拦截返回包

查看返回包中上传文件的路径

访问该文件并加上参数,这里需要注意访问的时候不需要在.php后加上::$DATA
访问成功

第十关
分析源码,这一关和第五关一样可以进行. .(点空-->格-->点)绕过

上传php文件,抓包修改文件名并拦截返回包

查看返回包中上传文件的路径

访问该文件并加上参数,访问成功

3318

被折叠的 条评论
为什么被折叠?



