信安小白,一篇博文讲明白上传漏洞——获得shop靶机的Webshell

实验环境:Win7

上传漏洞——获得shop靶机的Webshell

  • 系列博文
  • 前言
  • Webshell——脚本攻击工具
    • 1. Webshell 工具举例
    • 2. 如何获得Webshell
    • 3. 上传检测
      • 3.1 上传验证判断(保证能绕过检测,上传木马)
        • 3.1.1 内容检测绕过
        • 3.1.2. 黑名单检测绕过
        • 3.1.3 客户端(浏览器端)扩展名检测绕过
        • 3.1.4 服务端文件扩展名检测绕过
        • 3.1.5 服务端白名单检测绕过
        • 3.1.6 服务器端检测绕过
    • 4. 解析漏洞
    • 5. 文件上传漏洞防御(多数时采用组合拳进行防御)
    • 6. 当上传路径未知时,不能用00截断怎么办——数据库备份功能帮助上传
    • 7. 文件包含漏洞
      • 7.1 文件包含漏洞防御
    • 8. 杀毒软件原理
      • 8.1 杀毒软件功能模块
      • 8.2 查杀方式
      • 8.3 查杀方式优缺点比较
    • 9. 一句话木马变形
    • 10. 提高安全意识
  • 总结——获得Webshell
  • 实验——上传一句话木马
    • 1. 找到后台上传通道
    • 2. 制作一句话木马
    • 3. 上传一句话木马
      • 3.1 探索是否存在上传验证,绕过验证
      • 3.2 判断是客户端还是服务端验证
    • 4. 00截断
    • 5. 连接菜刀
    • 6. 防御方案

系列博文

  1. 信安小白,说明白渗透测试及信息安全
  2. 信安小白,一篇博文讲明白暴力破解和SQL注入
  3. 信安小白,一篇博文讲明白上传漏洞——获得shop靶机的Webshell
  4. 信安小白,一篇博文讲明白存储型、反射型XSS漏洞
  5. 信安小白,一篇博文讲明白CSRF攻击和防御

前言

??获得了Webshell就是获得服务器的远程web管理权限。我们要控制服务器,就必须要有通道,使服务器能接受指令。因此这个指令获取的媒介就是木马。木马能够隐蔽的接受远程指令,能够让黑客远程控制服务器。


Webshell——脚本攻击工具

1. Webshell 工具举例

中国菜刀: 一款c/s型的Webshell管理工具,它的服务端程序极小,只有一句代码,因此保证了Webshell的隐蔽性,并且这段代码所能实现的功能是非常强大的。

主要功能有:

  1. 文件管理:缓存下载目录,并支持离线查看缓存目录;
  2. 虚拟终端:操作方便;
  3. 数据库管理:支持

只要往目标 站中加入一句话木马,然后你就可以在本地通过中国菜刀获取和控制整个 站目录。

3.1 上传验证判断(保证能绕过检测,上传木马)

判断是哪种验证方式:

  • 是否进行文件大小验证 (限制文件大小,不能太小)
  • 是否进行文件内容验证 (要求特殊的文件格式,例如:要求文件内容是图片,可以采用木马和图片合并的方式绕过)
  • 是否MIME类型验证
  • 判断是客户端验证还是服务器端验证

3.1.1 内容检测绕过

文件内容检测:
将图片文件和一句话木马合成

文件大小检测:
将一句话木马复制多遍

3.1.2. 黑名单检测绕过

  1. 文件名大小写绕过
    ??用像AsP,pHp 之类的文件名绕过黑名单检测
  2. 名单列表绕过
    ??用黑名单里没有的名单进行攻击,比如asa 或cer 之类
    IIS6.0默认的可执行文件除了 asp 还包含 – .asa,– .cer,– .cdx
  3. 特殊文件名绕过
    ??发送的http包里把文件名改成test.asp.test.asp_(下划线为空格),这
    种命名方式在windows 系统里是不被允许的,所以需要在burp 之类里
    进行修改,然后绕过验证后,会被windows 系统自动去掉后面的点和
    空格

3.1.3 客户端(浏览器端)扩展名检测绕过

??没有向服务端发送任何数据信息,就对本地文件进行检测是否是允许上传的文件类型,这种方式称之为客户端本地javascript检测。

服务器端白名单检测: 不能在服务器检测之前修改,在服务器检测后修改

0x00 截断:
原理: 字符串结束符