前文写了一些常规的SQL注入的手段和SQL注入产生的原因,之后的SQL注入文章会介绍一些高级注入方法。
Boolean注入
一、什么是Boolean注入
Boolean型的注入意思就是页面返回的结果是Boolean型的,通过构造SQL判断语句,查看页面的返回结果是否报错,页面返回是否正常等来判断哪些SQL判断条件时成立的,通过此来获取数据库中的数据。
二、Boolean注入实战
这里我们可以打开我们sqli-labs的第八关,这个靶场的源代码在之前的渗透测试之外网准备一文中发过了,不知道的可以再去看一下。
第八关是一个Boolean注入的环境,首先我么先输入一个?id=1看一看会有什么情况
这里出现了一个You are in……的字段
那么我们在输入一个?id=1’看看会出现什么
很显然,这里我们输入?id=1’ 查询语句是无法正常执行的,按照以往我们经验这里是会报错的,爆出一个语句查询错误的英文句子,但是这里没有。可是仔细观察,我们就会发现区别。错误的语句中是没有You are in…..这个字段的,那么我们就可以通过这个特性来进行我们的注入了。
三、boolean注入思想
在进行boolean我们是这样思考的。这里打个比方,站在你面前一个人,你问他叫什么名字,但是他是个哑巴不能说话,只会点头和摇头,这个时候你该怎么去得到他的名字呢。对,当然是我们去问他,然后他通过点头或摇头来告诉我们的正确与否。假设这个人名字叫张三,我问他,你姓李吗。他给我摇了个头,这个时候我知道了他不姓李,我继续问,直到我们他你姓张吗,他给我点了个头,这个时候我知道了。哦!原来他姓张,后面才字也是一样的手段。当然这样询问是工作量非常大的,在我们的boolean注入里面也是一样,所以我们在进行boolean注入的时候都会写一些自动化的注入工具来帮助我们完成注入。
四、开始boolean注入
再进行boolean注入之前我们还需要知道一些MySQL的一些内置函数
length(str):返回str字符串的长度。
来源:freebuf.com 2020-10-20 13:32:11 by: 随风kali
请登录后发表评论
注册