文件类漏洞测试流程

文件类漏洞测试流程

文件上传测试

对于一个文件上传点,需要进行以下测试:

1. 文件上传类型测试

针对文件上传点,重点测试对文件上传类型的限制手段和位置:

  • 测试文件上传类型,直接上传脚本文件,如.php,.jsp等,若上传成功,则目前认为存在木马上传风险,进行执行测试。

  • 若无法直接上传脚本类型,首先尝试前端检测绕过测试,上传正常后缀名的文件(.jpg,.png,但注意,文件内容为脚本代码),点击上传按钮后抓包,在数据包中修改文件后缀名为脚本后缀后发送,若成功上传,认为存在木马上传风险,进行执行测试。

    • 若无法通过简单修改后缀名上传成功,推断为后端检测,或其他类型检测。尝试下面绕过方法单个或多个同时使用:

      修改HTTP数据包中Content-Type字段的值
      修改文件内容前几字符,如GIF89a
      制作图片木马
      使用多后缀名00截断,.jsp[0].jpg,[0]是ascii码0,在数据包中修改
      
    • 若成功上传,则目前认为存在木马上传风险,进行执行测试。

    • 若无法成功上传,则认为不存在上传漏洞

2. 执行测试

  • 对上传成功的后缀名为脚本后缀(.jsp,.php等)的,直接访问,若成功执行,则存在上传漏洞
  • 若对使用00截断上传的文件,直接访问截断前的文件名,若可执行,则存在上传漏洞
  • 若服务端修改了文件名,则注意需要访问的是修改的文件名。
  • 若发现当前目录无法执行脚本文件(没有执行权限),则可通过尝试目录穿越的方法,上传文件时上传…/…/a.jsp这样命名的文件,尝试上传穿越到可执行的目录中。
文件下载测试

文件下载一般分为两种,直接访问下载和使用自己开发的文件下载模块通过参数进行下载:

直接访问下载:http://www.a.com/file/download/1.ppt
下载模块下载:http://www.a.com/download?file_name=1.ppt

对于使用参数下载的可尝试任意文件下载的测试:

  • 尝试任意文件下载,通过改变参数尝试下载站内的其他文件,如

    下载同目录下其他文件(一般同目录的都是可供下载的,不属于漏洞):
    http://www.a.com/download?file_name=2.ppt
    下载不同目录下的其他文件:
    http://www.a.com/download?file_name=../../conf/conn.java
    下载服务器上的文件:
    http://www.a.com/download?file_name=../../../../../etc/passwd
    

    如果成功下载了不该下载的文件,认为存在任意文件下载漏洞

目录遍历类任意文件下载的测试,可通过访问web根目录下的目录,来查看是否有权限浏览,如果可以浏览此目录,可继续尝试猜测根目录下的其他目录(注根目录一般不可浏览,因为根目录中有index页面,而访问带有index页面的目录会自动被服务器解析到index页面,所以根目录下的目录只能通过猜测过枚举,但一般网站都遵循一定的架构规则),如:

http://www.a.com/js/
http://www.a.com/config/
http://www.a.com/css/
http://www.a.com/file/

若可以全部浏览目录下的文件,那么存在目录遍历漏洞,若不只可以遍历,还可以下载,那么还存在任意文件下载漏洞

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值