upload-labs是一个使用PHP语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。
第一关考验js本地验证:
首先上传一个正常的文件和一个非正常的文件,非正常文件返回提示特别快说明有可能是本地js验证的,再次上传发现网咯并没有反映,接着查看源代码:
发现果然存在js验证那么把源代码拷贝下来放在本地创建一个html的文件把其中的js验证删除,接着在指向一个目标请求上传地址(当然也可以在本地把js禁用在上传):
在上传一张正常图片后得到一个请求地址然后修改刚刚拷贝下来的代码:
填入请求的上传地址然后上传后门文件即可成功过关。
=========================================================================
第二关:
是一个mime文件上传这里使用burp抓取数据包之后修改文件格式即可
==========================================================================
第三到第五关:
==========================================================================
第六到第七关:
- 这几关但是windows的一个命名特性绕过
- 第六关可以使用抓包工具在1.PHP后门加上一个(空格)wiNows对空格会自动去除,使用一张正常图片抓包之后再数据库包里插入一句话木马其格式该成PHP的之后再进行上传
- 第七关上一关没有过滤空格这一关过滤了但是没有过滤点,所以在数据包里添加一个点之后即可绕过
- 第八关过滤了空格和点那么可以使用1.PHP::$DATA绕过
==========================================================================
第九关:
符号绕过 这里可以发现代码里只去除了一个点没有进行循环
1.PHP. .
第十关:
非递归绕过 通过一个str_ireplace()函数进行处理,黑名单中的字符都会被替换成空字符,那应该就可以想到,可以用双写的方式绕过,例如让后缀名为PHPhpp,这样中间的PHP会被替换掉,剩余的字符又组成了一个PHP。
1.pPHPhp
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。