N6-SQL注入(数字型)

今天猴子君要和大家探讨的是SQL注入部分的数字型的注入过程。
首先运行pikachu的测试环境,找到SQL-Inject章节的数字型注入(post)。
N6-SQL注入(数字型)_第1张图片
先进行第一次试探,查看一下运行的原理。发现这是一个基于SQL数据库搜索的端口,输入一个数字ID,返回一个邮箱地址。
N6-SQL注入(数字型)_第2张图片
很明显,这个是一个与数据库连接的端口,应用搜索语句的文本框。这时候,我们就要猜测一下这个数据库的语句是怎样的。
数据库搜索语句为:SELECT 字段1,字段2。。。字段n from 表名 where id=;(?为我们输入的条件)。
这个时候,我们就可以在**?**的位置做一下文章了。
SELECT 字段 from 表名 where id=真;这样的语句可以将所有满足id为真(即非Null,存在有这么一个id),所以,我们可以采用 ?=1 or 1=1 ;#的语句,将搜索语句改变成 SELECT 字段 from 表名 where id= 1 or 1=1 ;# ;
N6-SQL注入(数字型)_第3张图片
找到刚刚抓到的post包,可以看见,发出的请求是 2 ,然后把这个包发到Repeater里测试一下。
N6-SQL注入(数字型)_第4张图片
修改一下发出去的id 的值N6-SQL注入(数字型)_第5张图片
发现返回了一个新的邮箱地址,然后像之前猜想的样子,发送一个 1 or 1=1 ; # 的请求。
N6-SQL注入(数字型)_第6张图片
这个时候可以发现,返回了所有的邮箱地址。这次的数字型注入,成功完成!

你可能感兴趣的:(Pikachu)