简单的数字型sql注入漏洞

1.判断是否存在注入点
以pikachu靶场上的数字型注入漏洞为例
简单的数字型sql注入漏洞_第1张图片
可以看出,这是一个注入点,我们想要知道这个注入点有没有漏洞,可以先行根据经验与知识判断这个信息是在后台怎样运行的,是以什么样的方式存放的。
我们可以先自己预测一下这个参数代码的逻辑。
首先我们是在网页上提交了一个id返回到了后端,后端返回了一个名称和邮箱,正常情况下,所有用户的数据应该是存放在数据库里面的,所以当我们输入了一个1发送到后端,后端应该会在数据库中做一个查询,所以后端代码的逻辑我们可以猜测为

$id=$_POST['id']
select 字段1,字段2 from 表名 where id= $id;

里面的1就是我们提交的数字数据,假定后端操作我们没有猜错,那么我们可以试试提交

1 or 1=1

简单的数字型sql注入漏洞_第2张图片
or 1=1大概的原理就是这样,因为1=1恒为真,所以他会把数据库整个套出来

$id=$_POST['id']
select 字段1,字段2 from 表名 where id=1 or 1=1;

来试试后端会不会把这一整段当做一个逻辑去执行。
我们依然使用burp suite在pikachu靶场进行测试
点击查询后
简单的数字型sql注入漏洞_第3张图片
将抓到的包发送到repeater
简单的数字型sql注入漏洞_第4张图片
简单的数字型sql注入漏洞_第5张图片
按照刚才的逻辑 我们将1改成1 or 1=1
简单的数字型sql注入漏洞_第6张图片
逻辑正确,我们抓到了数据库所有资料

你可能感兴趣的:(简单的数字型sql注入漏洞)