sql-labs-less1/2|SQL注入

前言:

此系类文章为SQL注入讲解,在本地搭建sql-labs环境进行sql注入,我也是刚开始学sql注入,本篇文章为sql-labs前两关注入讲解,后面的会在学过以后陆续发布,写此系类文章是为了以后方便回顾,也希望能够帮到大家,如果有不正确的地方欢迎指正,由于讲解比较详细,操作过程截图比较多,全文比较干,大家谅解、感谢支持。

所需环境:

phpstudy,sql-labs

工具:

hackbar,可以不用这个工具,只是为了方便一点,我用的是免费版的。

关卡:

Less-1、Less-2

正文:

Less-1:

话不多说,直接看图:
在这里插入图片描述
直接在地址栏url注入,我为了方便使用hackbar,注入id=1测试:
在这里插入图片描述

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

	if($row)
	{
  	echo "<font size='5' color= '#99FF00'>";
  	echo 'Your Login name:'. $row['username'];
  	echo "<br>";
  	echo 'Your Password:' .$row['password'];
  	echo "</font>";
  	}
	else 
	{
	echo '<font color= "#FFFF00">';
	print_r(mysql_error());
	echo "</font>";  
	}
}
	else { echo "Please input the ID as parameter with numeric value";}

?>
</font> </div></br></br></br><center>
<img src="../images/Less-1.jpg" /></center>
</body>
</html>

图2为sql-labs less1部分源码,可以看到我在源码sql语句下面在浏览器输出了sql语句,这样看起来会更明白,注入id=1后正确显示,然后测试id=1’
,注意这里多了一个单引号:
在这里插入图片描述

根据报错信息和sql语句可以看出是因为单引号没有闭合,我们在后面加入注释–+,如果不加上加号依然不能注释后面的limit语句,+在后端会变成空格,这样连起来就可以起到注释作用:
在这里插入图片描述
接下来使用order by依次猜测有多少字段(order by作用可以百度),http://localhost/sql-labs/Less-1/?id=1’ order by 1/2/3–+测试到第四个四段就不行了,所以只有三个字段,然后查看字段信息:
在这里插入图片描述
这里注意,使用union(union为拼接两个不同的操作)以后前面的id的值要为不存在的,因为后面limit语句只显示一个字段,如果前面的id为正确的就会显示第一个结果,可以看到,第一个字段没有显示出来,不可用,可以在2,3任意字段执行sql命令,我们来查看当前数据库信息:
在这里插入图片描述
成功得到数据库security,接下来就可以查看数据库里面的表信息,这里要使用group_concat函数连接字符串,因为查询出来的是多个字符串,而浏览器只显示一个字段,所以要拼接在一起:
在这里插入图片描述
这里面的table_name、table_schema都是数据库的信息表information_schema里面的,具体信息请自行百度,可以看到已经查询出来了security数据库里面的表,flag表是以前大佬帮我搭环境的时候给我创建的,查询到flag里面的信息即可,当然大家查询其他信息方法都是一样的,接下来查看flag表里面的字段名:
在这里插入图片描述
可以看到flag表里面的字段名也是flag,这里用到的查询语句同上一步都为information_schema里面的信息,现在知道表名字段名以后直接select 字段名 from 表名就可以了:
在这里插入图片描述
成功得到所有信息,至此sql注入成功。

Less-2:

第二关和第一关几乎一样,只是id那里没有了单引号,大家看源码:

在这里插入图片描述
所以这一关不用在添加单引号,所有命令都为第一管去掉单引号即可,再次感谢支持!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HackerTenG

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

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

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

打赏作者

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

抵扣说明:

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

余额充值