点我
MySQL数据库写入WebShell
所用函数
outfile
在select语句中,into xxx outfile参数可以将查询结果导出保存在文本文档中
例如:
有错误信息,观察提示信息
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
MySQL服务器使用--secure file priva选项运行,因此无法执行此语句
secure_file_priv
secure_file_priv参数为限制数据导入和导出操作,该参数有三个值
参数 | 说明 |
---|---|
secure_file_priv = null | 不允许导入导出操作 |
secure_file_priv = /tmp/(文件路径) | 只允许在该路径下完成导入导出操作 |
secure_file_priv = 空 | 允许导入导出操作 |
查看当前参数值
show variables like '%secure_file_priv%';
在MySQL配置文件中修改值(如果没有则可以在mysqld下面直接添加)
修改配置后进行服务重启,重启后再次查看该参数值
执行上次的导出命令,发现显示上次一样的问题
再次将参数修改为空
再次执行导出权限,则执行成功
dumpfile
dumpfile参数也可以导出文件
区别
- outfile可以写入多行数据,并且字段和行终止符都可以作为格式输出。
- dumpfile只能写一行,并且输出中不存在任何格式。
outfile写入WebShell
利用场景、
- 知道网站的绝对路径
- root或管理员,有写入权限
- secure_file_priv参数值为空或网站根路径
- GPC或魔术引号关闭
漏洞复现
1、查询secure_file_priv参数值
show variables like '%secure_file_priv%';
2、使用outfile写入webshell
日志写入WebShell
1、查询当前mysql下的log日志存储路径
show variables like '%general%';
2、将日志功能开启
set global general_log = on;
3、将log日志路径修改为已知并可访问的路径
set global general_log_file = 'E:\phpStudy\PHPTutorial\WWW\log.php';
4、查询“一句话木马”
5、访问日志存储路径
分类:
WEB安全
版权申明
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论