0x00 背景
SQL注入长期位于OWASP TOP10 榜首,对Web 安全有着很大的影响,黑客们往往在注入过程中根据错误回显进行判断,但是现在非常多的Web程序没有正常的错误回显,这样就需要我们利用报错注入的方式来进行SQL注入了。这篇文章会讲解一下报错注入的产生原理和利用案例。
0x01 十种报错注入
这十种方式在这里不多讲了,详情移步https://www.cnblogs.com/wocalieshenmegui/p/5917967.html。平时我们最常用到的三种报错注入方式分别是:floor()、updatexml()、extractvalue()。
0x02 报错注入的原理
为了弄清报错注入的原理,首先先创建了一个名为sqli的数据库,然后建表插入数据:
mysql> create database sqli;
mysql> create table user (
id int(11) not null auto_increment primary key,
name varchar(20) not null,
pass varchar(32) not null
);
mysql> insert into user (name, pass) values ('admin', md5('admin')), ('guest', md5('guest'));

我们先看一个基于floor()的报错SQL语句:
select count(*),(concat(floor(rand(0)*2),(s

文章介绍了SQL注入中的报错注入原理,特别是当Web程序没有错误回显时如何利用报错注入。提到了floor()、updatexml()和extractvalue()三种常用的报错注入方法,并通过创建数据库和SQL语句示例解释了报错的原因。最后,文章提供了一个简单的PHP登录页面的报错注入案例。
最低0.47元/天 解锁文章
7501

被折叠的 条评论
为什么被折叠?



