Web木马与文件上传漏洞

这篇具有很好参考价值的文章主要介绍了Web木马与文件上传漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、认识Web木马

1.1 木马概念

1.2 web木马危害

1.2.1 攻击者留后门

1.2.2 文件、数据库操作

1.2.3 修改web页面

1.3 Web 木马特点

1.3.1 Web木马可大可小

1.3.2 无法有效隐藏

1.3.3 具有明显特征值

1.3.4 必须为可执行的网页格式:

1.4 Web木马分类

1.4.1 一句话木马

1.4.2 大马小马

二、初识文件上传漏洞

2.1 文件上传漏洞的概念

2.2 文件上传漏洞的危害

2.2.1 非授权用户的越权访问

2.2.2 信息的泄露

2.2.3 种下后门(webshell)

2.3 文件上传漏洞的防护

2.3.1 总体思想

2.3.2 文件上传验证

三、文件上传漏洞利用及防护

3.1 文件上传介绍

3.1.1 文件上传漏洞原因

3.2 文件上传检测

3.3 客户端JS验证

3.4 服务端验证

3.4.1 MIME检测

3.4.2 扩展名检测

3.4.3 文件内容头校验

3.5 文件上传漏洞防护

3.5.1 关闭不必要的文件上传功能

3.5.2 加强文件合法性检测

3.5.3 阻止上传文件执行


一、认识Web木马

1.1 木马概念

web木马:是应用页面,是用 Web 系统语言(如:ASP, PHP,JSP等)编写的木马,木马上传服务器后当成页面被攻击者访问,常当作后门。

1.2 web木马危害

1.2.1 攻击者留后门

1.2.2 文件、数据库操作

1.2.3 修改web页面

1.3 Web 木马特点(4)

1.3.1 Web木马可大可小

小到一句话,大到也会超过10k 

1.3.2 无法有效隐藏

  • Web木马执行时心须按照中间件支持的格式进行解析并执行
  • 在真实攻击中,攻击者通常会将木马命名为一个近似系统文件或正常文件的名字,并在其中填充大量与当前站点相似的无效代码,以迷惑管理员。
  • 若攻击者没有系统权限,木马在服务器端无法真正隐藏

1.3.3 具有明显特征值

  • Web 木马使用过程中,攻击者的操作行为会利用外部参数传入到Web木马中,Web 木马再将攻击者传入的参数拼接成系统命令并执行
  • 在 Web 木马中,需要调用系统的关键函数以执行本身的功能,这些关键函数在 Web 木马中起着关键作用,因此这些关键函数可作为 Web 木马的明显特征
  • 命令执行函数:evalsystem、popen、execshell_exec 等
  • 文件功能类函数:fopen、opendir、dirname、pathinfo 等
  • 数据库操作类函数:mysql_query、mysqli_query 等

1.3.4 必须为可执行的网页格式

Web 木马需在当前服务器的 Web 容器中执行,因此必须为网页格式

1.4 Web木马分类

1.4.1 一句话木马

  • 代码一句话,实现基本的链接功能,在web服务器上“打开窗口”,需配合中国菜刀进行相关操作
  • 由于木马越简单,针对木马的变种,隐匿方法就相对容易实现,木马成功部署及长久留存的概率也就越高。

① 以PHP为例:<?php @eval($_POST[‘c’])?> 获得客户端提交的参数,然后执行,需要用户提交的就是引号里的内容。

  • <?:脚本语言开始标记
  • ?>:脚本语言结束标记
  • @eval:执行后面请求到的数据
  • $_POST['c’]:获取客户端提交数据,其中 c 是需要获取的参数,也可以理解为密码。

② 隐藏手段:

  • 404页面
  • 图片或日志:构造图片马

③ 变形方法:

  • 更换执行数据来源:利用 get 方式<?php $_GET[ 'a ']($_GET[ 'b']);?>,其中 a 传入执行命令,b 传入执行代码,PHP接收到GET请求后相当于执行一个 assert 函数,并把 b 作为 assert 的参数。
  • 字符替换或特殊编码
  • 采用藏匿手段
  • 混合上述手段

1.4.2 大马小马

  • 文件大小和功能大小区别于一句话木马,是以 asp、php、jsp 或者 cgi 等网页文件形式存在的一种命令执行环境。也是WebShell后门木马。
  • 小马的作用是为后期上传其他文件做准备,如上传大马。
  • 大马的作用有文件管理数据库连接命令执行(提权)

防护方法

  • 更新防护类工具
  • 对服务器文件夹设置严格的读写权限
  • 禁用敏感危险函数
  • 定期观察系统服务管理中的服务
  • 定期检查是否有可疑进程
  • 检查是否近期有可执行文件

二、初识文件上传漏洞

2.1 文件上传漏洞的概念

在动态网站或Web应用系统中,动态脚本对用户文件上传部分控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上传可执行的动态脚本文件,进而危害服务器安全的软件漏洞

2.2 文件上传漏洞的危害

2.2.1 非授权用户的越权访问

2.2.2 信息的泄露

2.2.3 种下后门(webshell)

① Webshell

  • WebShell 可使得文件上传漏洞无限扩大
  • WebShell就是以 asp、php、jsp 或者 cgi 等网页文件形式存在的一种命令执行环境,也可以将其称之为一种网页后门
  • 攻击者在入侵了一个网站后,通常会将这些 asp 或 php 后门文件与网站服务器 web 目录下正常的网页文件混在一起,然后使用浏览器来访问这些后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载或者修改文件,操作数据库,执行任意命令等)。
  • 特点:WebShell 后门隐蔽性较高可以轻松穿越防火墙
  • 形式:一句话木马、小马、大马

② 上传攻击的条件

1. 你的文件能上传到web服务器

  • web系统本身具备文件上传功能
  • 程序未对用户上传的文件进行合法性检验

2. 你的文件能被当成脚本文件执行

  • 上传文件的后缀应是可执行格式
  • 存放上传文件的目录要有执行脚本的权限

3. 能找到上传后的文件路径及文件名

  • 许多web应用都会修改上传文件的文件名,这时就需要结合其他漏洞获取这些信息。

4. 目标文件可被访问

2.3 文件上传漏洞的防护

2.3.1 总体思想

确保上传的文件不会被服务器解析成可执行的脚本,进而引发偏离功能设计的以外后果。

  • “不能上传”:加强文件合法性检测
  • “不能被执行”:阻止上传文件执行

2.3.2 文件上传验证

客户端验证:是指客户端利用 javascript 对扩展名进行检测

服务端验证

  • MIME检测文件头Content—type检测
  • 扩展名检测(通常黑名单/白名单
  • 文件内容头校验

三、文件上传漏洞利用及防护

3.1 文件上传介绍

3.1.1 文件上传漏洞原因

  • 文件过滤不严或被绕过
  • 文件解析漏洞导致文件执行
  • 文件路径截断
  • 服务器配置不当及系统“特性”

3.2 文件上传检测

分为客户端JS验证服务端验证

3.3 客户端JS验证

顾名思义,就是使用 javascript 在客户端对上传文件后缀进行限制,但上传验证这样做是非常危险的,JS防护绕过有:

  • 浏览器禁用 JavaScript 脚本执行
  • 使用 burpsuite 进行抓包拦截,再改包

3.4 服务端验证

3.4.1 MIME检测

MIME值即文件头 Content-type。在HTTP协议中,会利用 Content-type 标识本次上传的内容类型。这些类型由客户端的浏览器根据本次上传文件的后缀名自动生成

常见的 Content-type 有:

  • text/html (html文档)
  • text/plain(纯文本)
  • text/css (css代码)
  • text/javascript (js代码)
  • image/jpeg (JPEG图像)
  • image/png (PNG图像)
  • image/gif (GlF图像)
  • application/x-www-form (POST方法提交的表单)
  • multipart/form-data (伴随文件上传的表单)

绕过方法:HTTP抓包后,修改 Content-type 类型,如 Content一type类型为 application/octet-stream 修改为“image/gif”或“image/jpeg”。

3.4.2 扩展名检测

① 思路

通过在服务器端检测上传文件的扩展名来判断上传文件的合法性。

② 方法

  • 黑名单过滤:一种容易遗漏的过滤方法,黑客上传非黑名单里的格式均可以被放行
  • 白名单过滤

③ 绕过方法

抓包改包

方法类似于前端JS检测及绕过,通过使用 burpsuit 进行数据包拦截,然后修改文件后缀名,尝试常见的PHP后缀。

◆ 文件解析缺陷

通过 Apache 文件解析缺陷绕过后缀检查:

在 Apache 1.x 、2.x 版本中,对文件名后缀解析存在从后往前解析的特性,比如1.php.xxx.ccc.fff.zzz,apache 并不认识 zzz、xxx 等一系列后缀,就会往前找,直到找到 php 这个 apache “认识”的后缀,就 php 解析了。


通过在非法后缀名后添加合法后缀

如:1.php 后添加 .360, apache 在解析时不认识 360 这个后缀,会自动向前遍历,直到出现可被识别的后缀 .php,并将之解析为 php 运行。


在 llS6.0 下也有类似的解析漏洞,IlS6.0 服务器对分号后面的扩展名不去解析,也就是说当文件为*. asp.jpg 时,llS6.0 同样会以ASP脚本来执行。

◆ 文件路径截断

上传的文件中使用一些特殊的字符(N00×00被认为是终止符),使得文件被上传到服务器时,路径或文件名会被从 \0 处截断,从而控制文件名或文件路径,最终绕过文件后缀判断。


应用原本只允许上传JPG图片,那么可以构造文件名为xxx. php[\0].JPG,其中 [\0] 为十六进制的 0x00 字符,.JPG绕过了应用的上传文件后缀名判断,而服务器解析时又从 \0 截断,被成功解析成了 ***.php 文件。文章来源地址https://www.toymoban.com/news/detail-501964.html

3.4.3 文件内容头校验

  • getimagesize() 函数可得到上传图片的大小
  • 通过分析图片头部来判断这个是不是一个有效的图片格式,比如 jpg 格式头部是JFIFgif 头部是GiF89apng 头部是 %PNG
  • 绕过方法:构造图片马可以绕过。

3.5 文件上传漏洞防护

3.5.1 关闭不必要的文件上传功能

3.5.2 加强文件合法性检测

3.5.3 阻止上传文件执行

  • 使用代理页面隐藏真实路径,使得用户找不到文件,自然就没有办法执行文件。
  • 对上传的文件在服务器上存储时进行重命名
  • 文件上传目录设置为静态资源目录,防止被解析为脚本执行。

到了这里,关于Web木马与文件上传漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web 安全之文件上传漏洞详解

    目录 文件上传漏洞的类型 文件上传的攻击方式 文件上传漏洞影响 防护措施 小结 文件上传漏洞是网络安全中的常见问题,通常发生在网站或应用程序允许用户上传文件到服务器的场景。这类漏洞如果被攻击者利用,可能导致数据泄露、非法文件分发、服务器入侵甚至整个系

    2024年02月04日
    浏览(30)
  • Web安全之文件上传漏洞详解

    文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致

    2024年02月13日
    浏览(32)
  • Web安全:文件上传漏洞测试(防止 黑客利用此漏洞.)

    现在大多的网站和Web应用系统都会有上传功能(比如:文档,图片,头像,视频上传等.),而程序员在开发文件上传功能时,没有对代码做严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个与网站脚本语言相对应的恶意代码动态脚本,例如(php,jsp、aspx,asp文

    2024年02月11日
    浏览(37)
  • 23 WEB漏洞-文件上传之解析漏洞编辑器安全

    各个WEB编辑器安全讲解 https://navisec.it/编辑器漏洞手册/ 各个CMS文件上传简要讲解 wordpress,phpcms, 参考共享的中间件漏洞PDF IIS6/7简要说明-本地搭建 Apache配置安全–vulhub Apache解析漏洞-低版本 利用场景: 如果对方中间件apache属于低版本,我们可以利用文件上传,上传一个不识

    2024年02月11日
    浏览(41)
  • 《WEB安全漏洞30讲》(第5讲)任意文件上传漏洞

    文件上传漏洞,指攻击者利用程序缺陷绕过系统对文件的验证与处理策略将恶意程序上传到服务器并获得执行服务器端命令的能力。 这个漏洞其实非常简单,就是攻击者给服务器上传了恶意的木马程序,然后利用此木马程序执行操作系统命令,从而获得服务器权限,造成严重

    2024年02月12日
    浏览(35)
  • 一级必杀,防不胜防的漏洞,WEB安全基础入门—文件上传漏洞

    欢迎关注订阅专栏! WEB安全系列包括如下三个专栏: 《WEB安全基础-服务器端漏洞》 《WEB安全基础-客户端漏洞》 《WEB安全高级-综合利用》 知识点全面细致,逻辑清晰、结合实战,并配有大量练习靶场,让你读一篇、练一篇,掌握一篇,在学习路上事半功倍,少走弯路! 欢

    2024年01月18日
    浏览(33)
  • 33、WEB攻防——通用漏洞&文件上传&中间件解析漏洞&编辑器安全

    IIS爆过漏洞的版本:IIS6.0(windows server 2003)、IIS7.0和IIS7.5(windows server 2008) IIS6.0解析漏洞: 文件名:x.asp;x.jpg,jpg的文件后缀名,但是会被解析为asp文件; 目录名:x.asp/x.jpg, 文件目录名含有.asp后缀,x.jpg也会被解析为asp文件。 触发条件: IIS6.0这个中间件; 上传文件能不

    2024年01月24日
    浏览(56)
  • 24 WEB漏洞-文件上传之WAF绕过及安全修复

    safedog BT(宝塔) XXX云盾 宝塔过滤的比安全狗厉害一些,在真实情况下现在很多网站都是用宝塔 Content-Disposition: 表单数据,一般可更改 name:表单参数值,不能更改,改完之后,数据包是有问题的,跟前端的表单值会对不上,这样后端会无法判断你上传的地方,如果要更改,那

    2024年02月10日
    浏览(36)
  • 049-WEB攻防-文件上传&存储安全&OSS对象&分站&解析安全&解码还原&目录执行

    1、文件上传-安全解析方案-目录权限解码还原 2、文件上传-安全存储方案-分站存储OSS对象 演示案例: ➢文件-解析方案-执行权限解码还原 ➢文件-存储方案-分站存储OSS对象 ➢实例-解析存储-传输分站OSS存储 将源码复制到对应目录下,并创建image.wusuowei.com文件夹,存储源码

    2024年04月12日
    浏览(48)
  • 小迪安全33WEB 攻防-通用漏洞&文件上传&中间件解析漏洞&编辑器安全

    # 知识点: 1 、中间件安全问题 2 、中间件文件上传解析 3 、 Web 应用编辑器上传 编辑器也就是第三方插件,一般都是文件上传漏洞 # 详细点: 1 、检测层面:前端,后端等 2 、检测内容:文件头,完整性,二次渲染等 3 、检测后缀:黑名单,白名单, MIME 检测等 4 、绕过技

    2024年03月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包