0x01 上传漏洞之黑名单检测绕过

一、黑名单过滤不全

练习第三关
修改请求,点击do intercept 相应这个请求 ,再forward 转发过去,可以看到响应头,第三关php3才解析
文件上传之黑名单绕过方式示例 - 图1

二、黑名单大小写过滤不全

练习第五关
文件上传之黑名单绕过方式示例 - 图2
可以用burp FUZZ跑上传的文件类型
文件上传之黑名单绕过方式示例 - 图3
文件上传之黑名单绕过方式示例 - 图4
文件上传之黑名单绕过方式示例 - 图5

三、空格绕过 windows特性

练习第六关
文件上传之黑名单绕过方式示例 - 图6
文件名后缀加个空格,可以绕过上传
文件上传之黑名单绕过方式示例 - 图7

四、文件后面加.号 windows特性,访问时,可以不用带.号

练习第七关
文件上传之黑名单绕过方式示例 - 图8
文件上传之黑名单绕过方式示例 - 图9

五、.htaccess文件的利用

中间件是apache的姿势
在利用.htaccess文件之前,我们先来了解一下什么是.htaccess规则文件。.htaccess文件(或者”分布式配置文件”),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。
概述来说,.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
在一些启用了.htaccess文件的网站上就可以使用此文件类型来绕过限制较全面的黑名单过滤。
建立一个名为htaccess后缀名的文件 ,内容为 SetHandler application/x-httpd-php
文件上传之黑名单绕过方式示例 - 图10

在上传的htaccess 文件前加个 . 号
文件上传之黑名单绕过方式示例 - 图11
在上传正常可以文件类型,因为.htacces把后缀名当成php解析
文件上传之黑名单绕过方式示例 - 图12

命令执行成功
文件上传之黑名单绕过方式示例 - 图13

六、 ::$DATA特性

(利用的是NTFS文件系统的一个特性,NTFS存储数据流的一个属性,当我们这样去访问的时候,其实我们请求的,它就会被认为是phpinfo.php本身的数据)
第八关:
文件上传之黑名单绕过方式示例 - 图14

七、 . . 点空点 (查看源代码)

练习第九关
文件上传之黑名单绕过方式示例 - 图15

八、 双写绕过 (查看源代码)

上传的文件后缀名为 1.pphphp
文件上传之黑名单绕过方式示例 - 图16

九、上传漏洞之条件竞争

服务端检测绕过:竞争条件攻击
竞争条件:服务端先是允许用户上传任意类型的文件,上传过后再去检查文件,如果文件存在恶意的内容,那么才会执行删除操作。那么就可以利用这个时间差来完成攻击
练习:第十七关
在网站源码中增加个睡眠时间为20秒,之后才删除我们的文件。
文件上传之黑名单绕过方式示例 - 图17
文件上传之黑名单绕过方式示例 - 图18
使用Burp 去进行条件竞争
文件上传之黑名单绕过方式示例 - 图19
文件上传之黑名单绕过方式示例 - 图20
Buep 拦截断开,在次拦截,访问 上传的文件,用Brup抓包
文件上传之黑名单绕过方式示例 - 图21
把抓到的请求发送到 intruder 模块
文件上传之黑名单绕过方式示例 - 图22

设置线程
文件上传之黑名单绕过方式示例 - 图23
点击start attack 去爆破
原理:就是上传一个php文件,在php文件里去写入一句话保存到其他文件。不断去发上传的包,不断的去访问上传的文件,让他生成一句话 木马。
文件上传 成功
文件上传之黑名单绕过方式示例 - 图24
蚁剑一句话木马连接成功
文件上传之黑名单绕过方式示例 - 图25

十、上传漏洞之图片木马原理、制作与利用条件

制作图片木马
cmd制作 copy 1.jpg/b+2.php/a 3.jpg
010editor制作
用010editor 打开图片,写入一句话 木马保存即可
文件上传之黑名单绕过方式示例 - 图26
图片木马的使用:

  1. 需要结合文件包含来使用
  2. 上传图片木马,然后包含
  3. 或者配合解析漏洞来去利用

练习第十三关
图片木马解析成功

十一、上传漏洞之绕过图片二次渲染

上传图片的话,可能会被服务器二次渲染,导致上传图片中得到木马被删除掉
文件上传二次渲染绕过
GIF格式图片绕过 利用:使用文件包含漏洞+制作绕过二次渲染的GIF图片
练习第十六关:gif木马未被渲染之前:
文件上传之黑名单绕过方式示例 - 图27
上传到客户端,被渲染之后,代码已经被渲染删除了
文件上传之黑名单绕过方式示例 - 图28
跳过渲染:上传文件和未上传的文件进行对比,蓝色的是未变化的内容,红色的是渲染的内容,我们可以把一句话和phpinfo 加入到蓝色部分,就可以绕过二次渲染
文件上传之黑名单绕过方式示例 - 图29
JPG格式图片绕过 ,制作jpg图片木马
用php绕过二次渲染 脚本生成图片木马,在php环境下生成
插入的phpinfo
文件上传之黑名单绕过方式示例 - 图30
在php文件中用cmd打开,调用这个php脚本,看到下面图片木马生成成功
文件上传之黑名单绕过方式示例 - 图31

第十九关:upload-19.php%00.jpg 或者 目录命名-x.php/.

第二十关:
save_name[0]=’sss.php’
save_name[2]=’jpg’
file={‘sss.php’,’’ ,’jpg’}