MySQL 文件读写
- 如果数据库的配置权限不当,攻击者可以通过
SQL
语句读写文件来进行进一步攻击以获取更多的权限,如读取网站配置文件、修改注册表文件、写入木马等。
读写权限判断/设置
MySQL
读写关键字段:secure_file_priv
secure_file_priv
关键值:
取值 | 含义 |
---|---|
null |
表示不允许读取/写入 |
dir |
表示读取/写入限制在特定目录下 |
空值 | 表示读取/写入可以在任意目录下 |
- 权限查看:
1 | select @@secure_file_priv; |
Web 根路径获取
常用
Web
根路径获取有:基于报错信息
内置函数查询
@@datadir
@@basedir
文件上传功能点
文件泄露(
phpinfo.php
)猜
文件读取/写入
文件读取函数
load_file()
文件写入函数
into outfile
:数据可以写入多行,会进行特殊的格式转换。into dumpfile
:数据只能写入出一行,保持原有数据格式。
本地测试读写
1 | 读取 |
SQLi-Labs
Windows
SQLi-Labs(Windows,SQLi-Labs 2)
:
1 | ?id=-1 union select 1,2,load_file('C:/Windows/win.ini') |
Linux
SQLi-Labs(Linux,SQLi-Labs 2)
:
1 | ?id=-1 union select 1,2,load_file('/etc/passwd') |
- 权限问题解决:
1 | 进入容器 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yongz丶!