网络安全菜鸟学习之漏洞篇——sql(六)

今天是断更之后的第一更,我们今天就先来学习一下盲注。
首先我们先学习布尔盲注。
它是什么意思呢?
其实这个原理很简单,它就是通过对输入的内容进行判断。
例如:?id=1’ and left(database(),1)=‘s’ #
这个的意思是指对比当前的数据库名的第一位是否是“s”.
它一般用于数据被带入了数据库执行,但是由于网站管理员故意设置的原因使得用户无法看见回显。
好的,我们已经大体的讲了它的原理与用途,现在我们来深入学习一下。
在学习的开始,我们先来学习几个函数:
1.substr()
它的用法是:substr(string,start,length)
我们来做两个实验来进一步理解一下
首先我们先写一个简短的PHP脚本(具体步骤如图)

<?php
$s=substr(abcd,1,2);
echo "$s";
?>

在这里插入图片描述
在这里插入图片描述

好,这时我们来访问一下(如图)
在这里插入图片描述

从图上我们明显可以看出我们中间的数是截取的起始点,后面的数是长度。
值得注意的是它是从0开始的(如下例)
abcd
0123
好第一个实验做完了,我们开始进行第二个。
首先我们还是先写一个简短的PHP脚本(具体步骤不给了和之前一样只是代码不同)

<?php
$s=substr(abcd,1);
echo "$s";
?>

然后我们再来看看结果(如图)
在这里插入图片描述
这个也很明显就是从1开始之后的内容全部截取。
好了,通过这两个实验我们就可以学会了它的用法.
注:我们一般是用第二种。(没看懂也可以看看这篇文章https://www.runoob.com/php/func-string-substr.html)
2.left()
left()的用法与substr()的第二种用法差不多,但值得注意的是它是从1开始计数的。
例如:left(database(),1)>’a’ 指的是判断数据库名的第一位是否为a。
3.mid()
mid函数的用法和substr()基本上一样,但还是那个问题它是从1开始计数的。
3.ORD()函数的组合用法
这个函数是把输入的字符串的第一位字符转换成ASCII码
例如:

<?php
echo ord("52zg");
?>

这串代码运行结果是:在这里插入图片描述
把“53”还原刚好就是5
在这里插入图片描述
这个函数一般是和之前的几个函数一起使用,例如:

<?php
echo ord(substr(abcd,1,2));
?>

运行结果就是:
在这里插入图片描述

也就是b的ASCII码(如下图)
在这里插入图片描述
好了在我们学习完了这几种函数后,我们来学习如何用它们来进行sql注入。

http://127.0.0.1/sqli-labs-master/Less-1/?id=1' and left(database(),1)='a' --+

我们知道我们使用数据库名字的第一个字符串是’s’,所以说它肯定会报错。(如下图)
在这里插入图片描述
但当我们改成正确的代码后它就不报错了。(如下图)
在这里插入图片描述
我们就是通过这样的方式对数据库进行猜解。(说实话这种很麻烦,一般是工具所使用的方法。例如sqlmap就是用这种方法进行猜解的)
好的,在我们学习了布尔盲注之后我们来学习基于时间的盲注。
它的原理也很简单,就是通过回显的所经过的时间来判断。
它主要是靠sleep()函数。sleep()函数可以改变回显时间。
首先我们来作个实验,源码是这样的:

<?php $a=$_GET['a']; if($a==5) {echo"52zg
";![在这里插入图片描述](https://img-blog.csdnimg.cn/2020091508471246.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dxenN6enk=,size_16,color_FFFFFF,t_70#pic_center) sleep(10); } echo"5very2zg"; ?>

(因为CSDN中不好插入视频,我用截图的形式展示一下)
当我们输入?a=1时,由于a不等于5,所以说直接回显。
当我们再输入?a=5时,由于a等于5,所以说延迟10秒回显。(注意这里是再输入,所以说应在延迟的时间内还是上一次输入的回显)
(此为延迟时的回显)
在这里插入图片描述
(此为延迟结束后的回显)
在这里插入图片描述
所以说我们可以通过回显时间来判断。
那么我们由此也就可以写出Payload了

?id=1' and if(ascii(substr(database(),1,1))=115,sleep(5),1)--+

(ps:求各位看官给点评论和关注)

猜你喜欢

转载自blog.csdn.net/gqzszzy/article/details/108526601