web基础——sql注入(整数形,字符形,报错,时间注入)题解

本篇讲解sql注入相关题目

一、整数形(字符型注入)注入

1、打开题目,输入1进行尝试

若where后有 ' ' 则题型为字符型注入,反之为整形

若题目为字符型,则需在语句最后加上#(注释符)排除 ' 的影响

其余步骤整数型与字符型一致,下面以整数型举例

2、通过联合查询判断表中有多少字段

发现当尝试两个字段时有回显信息,三个则没有,说明表中有两个字段

(与此同时,因为题中只能显示一行信息,则可以前一个查询条件设置为0,这样回显信息就是后面查询条件的)

3、使用后一个字段查询数据库信息

查询层次为schema—table—column

(同时因为只有一行回显,则可使用group_concat语句将表内所有信息表现在一行里)

此时可发现除默认表以外,还有一个表格sqli,接下来的思路就为查询table下sqli中的数据,用where语句协助查询

可以看见flag表格,继续查询colmun下的flag表格

可以发现flag

接着就可直接查询flag

二、报错注入

因为报错注入有一些特别之处,所以此处先引入几个函数

>因为报错回显有长度限制,即使是group_concat也无法将全部内容显示,就需使用字符截取函数

    substr(字符串,起始位置,截取长度)或mid(字符串,起始位置,截取长度)

>updatexml()函数,具有报错功能(主力)

    语法结构:

    1' and updatexml(1, concat(0x7e, (SELECT database()), 0x7e), 1) and '1'='1

报错注入思路与前两个相似

接下来看题

报错注入的特点是回显显示查询正确或错误,如图

可判别表中有两个字段

为使回显结果现实数据库中内容,引入函数updatexml()

同时为使全部字段显示,引入函数substr()

可以得到如此一坨,发现特殊字段sqli,接下来的步骤与整数型大同小异就不写了#懒'~')

然而由于报错显示有限,需自己调整,然后自己拼上

三、时间盲注

这玩意我就不懂了,总之就是要用脚本,脚本语言是python#摆

大致原理就是利用sleep()函数和时间来判断猜测字符是否正确,猜测字符正确则睡眠较长时间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值