渗透测试之文件上传

一句话木马

是php代码的标志 system()命令执行函数  $_GET['cmd']接收用户通过get方式请求提交的以cmd为参数的值 @错误抑制符,用户传进的参数有误也不会直接报错或退出。

渗透测试之文件上传_第1张图片

通过物理机访问

渗透测试之文件上传_第2张图片

成功打开服务器上的计算器。

将执行命令函数换成eval()

渗透测试之文件上传_第3张图片

输入phpinfo得到php的配置信息

渗透测试之文件上传_第4张图片

system() 是执行系统命令和eval()将传进来的值按照php代码来执行。

在实战环境中,我们不能看到服务器上的计算器是否正常开启,所以使用可以看到回显的命令,从而确保正常执行,在当前目录下写一个2.txt文件,里面存入内容123123123.

渗透测试之文件上传_第5张图片

访问创建的文件,访问成功即为成功执行

渗透测试之文件上传_第6张图片

也可以使用dnslog平台记录得到系统命令执行成功

渗透测试之文件上传_第7张图片

文件上传工具

冰蝎

1、生成一个马

渗透测试之文件上传_第8张图片

2、将shell.php放在被攻击端服务器中

渗透测试之文件上传_第9张图片

3、新增shell进行连接

渗透测试之文件上传_第10张图片

4、连接成功

渗透测试之文件上传_第11张图片

5、实现脱库

渗透测试之文件上传_第12张图片

哥斯拉

1、生成马

渗透测试之文件上传_第13张图片

渗透测试之文件上传_第14张图片

2、将生成的马放在被攻击服务器的网页根目录下

渗透测试之文件上传_第15张图片

渗透测试之文件上传_第16张图片

3、哥斯拉进行连接

渗透测试之文件上传_第17张图片

渗透测试之文件上传_第18张图片

连接成功

渗透测试之文件上传_第19张图片

4、点击添加,进入

有终端以及数据库管理等工具

渗透测试之文件上传_第20张图片

蚁剑

1、将木马放在网页根目录下

渗透测试之文件上传_第21张图片

2、通过 蚁剑连接

渗透测试之文件上传_第22张图片

渗透测试之文件上传_第23张图片

3、成功连接

渗透测试之文件上传_第24张图片

渗透测试之文件上传_第25张图片

除此之外,蚁剑的插件市场还有很多比较好用的工具

渗透测试之文件上传_第26张图片

文件上传

用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力(上传web脚本能够被服务器解析)通常存在于网页主界面(个人资料,提交文档)、后台登录系统以及许多未关闭的接口。

文件上传漏洞挖掘思路

1、判断对方网站使用的是什么服务器、服务器能够解析的脚本语言(asp、jsp、php)。

2、寻找文件上传点(图片提交、接口提交、编辑器提交、文档提交)可以将文件上传到对方服务器的点。

3、判断文件上传的验证规则。

4、寻找脚本上传之后的路径,看是否可以访问到(如果看到空白的页面说明脚本被解析了、如果没有解析脚本会以文本的方式出现在网页上)。

5、使用文件上传工具连接,尝试执行whoami命令。

文件上传漏洞实例

1、判断对方服务器,可以通过抓包

渗透测试之文件上传_第27张图片

得到是通过php编写的

2、找到文件上传点

渗透测试之文件上传_第28张图片

找到一个上传图片的点

3、判断验证方式

上传文件,进行抓包,没有抓到,说明这里的验证是前端js验证跳出的弹窗

渗透测试之文件上传_第29张图片

发现是前端验证之后u,关闭JavaScript再进行上传就可以绕过前端验证

渗透测试之文件上传_第30张图片

4、找到文件上传的路径,在这里直接显示在页面上uploads/1.php,但在很多真实场景中需要抓包来确定脚本上传的位置。

访问后得到一个空白页面,可能是脚本执行成功

5、使用工具进行连接

渗透测试之文件上传_第31张图片

成功连接,说明脚本正常上传并且执行。

渗透测试之文件上传_第32张图片

你可能感兴趣的:(渗透测试,java,开发语言)