zoukankan      html  css  js  c++  java
  • 初级安全入门—— WEBshell与文件上传漏洞

    概念介绍

    • WebShell网页木马文件
      • 最常见利用文件上传漏洞的方法就是上传网站木马(WebShell)文件,根据开发语言的不同又分为ASP木马、PHP木马、JSP木马等,该木马利用了脚本语言中的系统命令执行、文件读写等函数的功能,一旦上传到服务器被脚本引擎解析,攻击者就可以实现对服务器的控制。

      • 一句话木马(小马):功能简单,需要配合客户端使用,隐蔽性强,容易通过变形隐藏特征,绕过过滤

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

    实验场景一:文件上传

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

      通过把木马eval.php拓展名改成jpg,再通过代理抓包,将拓展名改回php

      实现绕过MIME类型检测

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

      把木马eval.php拓展名改成jpg,再通过代理抓包,send到BurpSuitde的repeat模块

      尝试各种拓展名修改绕过黑名单如(拓展名改为Php,PHP,php5,php6等等)

      发现Php可以绕过检验

      猜测推断或者利用其他功能找出木马在服务器的路径

      找到路径后,可以直接配合CKnife使用来控制整个服务器


    文件上传漏洞防护

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

    总结

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

  • 相关阅读:
    侃一侃WebSocket
    为什么我要用GoEasy替代WebSocket
    WebSocket负载均衡
    大道至简 知易行难 JAVA 完成WebSocket demo 用GoEasy实现Hello world
    大道至简 知易行难 C# 完成WebSocket demo 用GoEasy实现Hello world
    WebSocket跨域问题解决
    WebSocket原理
    WebSocket 和HTTP的区别及原理
    WebSocket与Socket、TCP、HTTP的关系和异同点
    WebSocket配置中会遇到的一些问题
  • 原文地址:https://www.cnblogs.com/HunterJ/p/10717400.html
Copyright © 2011-2022 走看看