WEB安全---文件上传2(upload-labs解题前十关)

upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。

WEB安全---文件上传2(upload-labs解题前十关)_第1张图片

第一关考验js本地验证:
首先上传一个正常的文件和一个非正常的文件,非正常文件返回提示特别快说明有可能是本地js验证的,再次上传发现网咯并没有反映,接着查看源代码:
WEB安全---文件上传2(upload-labs解题前十关)_第2张图片
发现果然存在js验证那么把源代码拷贝下来放在本地创建一个html的文件把其中的js验证删除,接着在指向一个目标请求上传地址(当然也可以在本地把js禁用在上传):
WEB安全---文件上传2(upload-labs解题前十关)_第3张图片
在上传一张正常图片后得到一个请求地址然后修改刚刚拷贝下来的代码:
WEB安全---文件上传2(upload-labs解题前十关)_第4张图片
填入请求的上传地址然后上传后门文件即可成功过关。

=========================================================================
第二关:
是一个mime文件上传这里使用burp抓取数据包之后修改文件格式即可

==========================================================================
第三到第五关:

  • 这几关都是对文件后缀进行一个验证

  • 第三关把1.PHP加上5即可(1.PHP5)

  • 第四关不限制.htaccess那么就可以使用该方法解析绕过

  • 第五关使用抓包工具使用%00绕过上传或使用大小写绕过

==========================================================================
第六到第七关:

  • 这几关但是windows的一个命名特性绕过
  • 第六关可以使用抓包工具在1.PHP后门加上一个(空格)winows对空格会自动去除,使用一张正常图片抓包之后再数据库包里插入一句话木马其格式该成PHP的之后再进行上传
  • 第七关上一关没有过滤空格这一关过滤了但是没有过滤点,所以在数据包里添加一个点之后即可绕过
  • 第八关过滤了空格和点那么可以使用1.PHP::$DATA绕过
    ==========================================================================
    第九关:
    符号绕过 这里可以发现代码里只去除了一个点没有进行循环
    1.PHP. .

第十关:
非递归绕过 通过一个str_ireplace()函数进行处理,黑名单中的字符都会被替换成空字符,那应该就可以想到,可以用双写的方式绕过,例如让后缀名为phphpp,这样中间的php会被替换掉,剩余的字符又组成了一个php。
1.pphphp

你可能感兴趣的:(文件上传)