【新手入门】SQL注入之盲注

一、引言

在我们的注入语句被带入数据库查询但却什么都没有返回的情况我们该怎么办?

例如应用程序返回到一个"通用的"的页面,或者重定向一个通用页面(可能为网站首页)。这时,我们之前学习的SQL注入的办法就无法使用了。这种情况我们称之为无回显,如果页面有信息显示,我们称之为有回显。回显状态的页面就用之前学的SQL注入的方式,无回显的这种我们就可以采用盲注的手段。

二、有、无回显

有回显

pikachu靶场

无回显

是指当攻击者控制目标系统执行命令时,目标并不会直接返回结果,造成攻击者无法知晓自己的攻击行为是否成功。

无回显的两种情况

①有防护,注入失败:过滤掉攻击语句,再去数据库查询

②无防护,注入成功:对响应数据进行了加工,只显示一条 ,若数据库查询出来的数据超过了一条,就报错,说查不到数据或404。此情况可使用盲注

三、盲注

盲注,即在SOL注入过程中,SOL语句执行选择后,选择的数据不能回显到前端,我们需要使用一些特殊的方法进行判断或尝试,这个过程称为盲注。

SQL盲注分为两大类:基于布尔型SQL盲注、基于时间型SQL盲注。

四、Boolian布尔型盲注

通过一种比较手段来得到一个真假值(布尔值,true 1真、false 0假),根据真假值来断定数据是什么样子的。

手动爆破

布尔型盲注入查询长度

要查询当前库名,首先确定要查询的数据库的长度,再通过截取字符进行对比

vince' and length(database())>=4#

代码中的4需要我们从1开始试

可查询出的界面

不可查询出的界面

综上,可知数据库长度为4

布尔型盲注入获取数据库名

数据库常用字符如下:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz. @_
将这些字符和数据库中的每一个字符进行比较得到最终的数据库名
获取数据库第一个字符,输入

vince' and if(substring(database(),1,1)='p',1,0)

(这里p是爆破得到的)

一个一个爆破比较麻烦,建议用bp爆破

获取表

select table_name from information_schema.tables where table_schema=database() limit 0,1

获取列名

select column_name from information_schema.columns where table_name='users' limit 1,1

五、base on time时间型盲注

vince' and sleep(x)#

基于时间的延迟,构造一个拼接语句:

'vince'and if(substr(database(),1,1)='X'(猜测点),sleep(10),nu11#'

输入后,如果猜测正确,那么就会响应10秒,如果错误会立刻返回错误。

时间型盲注常用函数:sleep(x)、benchmark.如果sleep被防御掉了,可用另一个。或变换sElect、benCHmark等的大小写。

以上内容均为自己学习理解所得,如有错误,欢迎大家评论指正。

 

回答: SQL注入可以分为三类:布尔、延时和报错。其中,布尔是一种通过构造逻辑表达式的SQL语句来判断数据的具体内容的方式。在布尔中,页面在执行SQL语句后,只显示两种结果,通过构造逻辑表达式的SQL语句来判断数据的具体内容。\[1\]布尔是一种基于布尔的SQL,通过构造逻辑表达式的SQL语句来判断数据的具体内容。\[2\]当我们只能通过页面返回的结果的“是”与“否”来得到我们想要的信息时,就被称为布尔型。\[3\]所以,如果你在进行SQL注入时,只能通过页面返回的结果的“是”与“否”来得到你想要的信息,那么你遇到的就是布尔型。 #### 引用[.reference_title] - *1* [SQL注入简单总结](https://blog.youkuaiyun.com/qq_42477007/article/details/96492174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SQL注入](https://blog.youkuaiyun.com/xiao_he0123/article/details/123610491)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SQL注入2——(重学)](https://blog.youkuaiyun.com/qq_52263650/article/details/127737877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值