初级安全入门—— WEBshell与文件上传漏洞

时间:2021-12-21 21:27:19

概念介绍

  • WebShell网页木马文件
    • 最常见利用文件上传漏洞的方法就是上传网站木马(WebShell)文件,根据开发语言的不同又分为ASP木马、PHP木马、JSP木马等,该木马利用了脚本语言中的系统命令执行、文件读写等函数的功能,一旦上传到服务器被脚本引擎解析,攻击者就可以实现对服务器的控制。
    • 一句话木马(小马):功能简单,需要配合客户端使用,隐蔽性强,容易通过变形隐藏特征,绕过过滤
      初级安全入门—— WEBshell与文件上传漏洞

    • 大马:功能完善,直接使用浏览器即可利用,隐蔽性相对较弱,通常需要通过加密等方式来隐藏特征

实验场景一:文件上传

  • 检测文件MIME类型的文件上传传漏洞利用

    通过把木马eval.php拓展名改成jpg,再通过代理抓包,将拓展名改回php
    初级安全入门—— WEBshell与文件上传漏洞

    实现绕过MIME类型检测
    初级安全入门—— WEBshell与文件上传漏洞

  • 服务端黑名单检测文件扩展名的文件上传漏洞利用

    把木马eval.php拓展名改成jpg,再通过代理抓包,send到BurpSuitde的repeat模块
    初级安全入门—— WEBshell与文件上传漏洞

    尝试各种拓展名修改绕过黑名单如(拓展名改为Php,PHP,php5,php6等等)
    初级安全入门—— WEBshell与文件上传漏洞

    发现Php可以绕过检验
    初级安全入门—— WEBshell与文件上传漏洞

    猜测推断或者利用其他功能找出木马在服务器的路径
    初级安全入门—— WEBshell与文件上传漏洞

    找到路径后,可以直接配合CKnife使用来控制整个服务器
    初级安全入门—— WEBshell与文件上传漏洞
    初级安全入门—— WEBshell与文件上传漏洞
    初级安全入门—— WEBshell与文件上传漏洞

文件上传漏洞防护

  • 黑名单检测:一般有个专门的blacklist文件,里面包含各种常见的危险脚本文件的拓展名,如:php,asp,jsp。该方式过滤的完整度受限于blacklist内容,不够安全
  • 白名单检测:只允许系统接受的文件类型通过,如只能上传png,jpg,zip,rar等。该方式相对安全。

总结

通过实验可以看出,木马的直接利用难度很高,一般通过文件上传,攻击者很难猜出木马在服务器的路径。木马的利用,大都是攻击者通过其他方式获取了shell权限,为了下次控制服务器的方便,在服务器上留下的后门(正如木马本身的含义)。