我们接下来看sql注入版块
post注入,直接打开bp抓包
发送到重放模块
输入or 1=1# 能不能遍历
遍历成功,说明存在sql注入
我们在向下看
输入lili发现能出来id和邮箱
又知道他是get字符型注入
我们直接输入即可
首先我们要让正常的查询报错,才能让他返回报错之后返回的东西
遍历成功,存在sql注入
我们继续看搜索型注入
和上面那关差别不大,payload可以共用
注入成功
我们继续
这关无论你怎么搜索都是不行的,我们去看一下源代码吧
我们发现查询语句多了个括号,那我们给他闭合掉不就完事了么
成功打入
我们继续
他叫我们注册账号,那我们就去注册,按经验来说注册点和登陆点有时会出现sql注入,我们去试试
我们知道insert就是在数据库中添加数据
那么我们注册一个账号,是不是就是在数据库中添加了你的账号数据,那么我们可以在注册页面插入我们的注入语句,我们猜测后台的mysql语句应该是,insert into user(name,password,sex,phone,address1,address2) value('xxx',123,1,2,3,4)。那我们可以在xxx的位置构造我们的注入语句xxx' or updatexml(1,concat(0x7e,database()),0) or '
提交试试
好的,我们查询到了结果
注入成功
我们继续
留言板,我们先留个言,然后删除的时候抓个包
我们构造一下sql注入语句
sql注入成功
我们继续
我们先登录一下
有些时候,后台开发人员为了验证客户端头信息,比如常用的cookie验证,或者通过http请求头信息获取客户端的一些信息,比如useragent、accept字段等等,会对客户端的http请求头信息获取并使用sql进行处理,如果此时没有足够的安全考虑,则可能会导致基于http头的sql注入漏洞
首先抓包,然后发送到重发器
把 User-Agent 改为一个单引号,发包看看后台处理的结果,发现直接报了 SQL 语法错误
再把User-Agent后面跟上构造好的语句,爆出数据库
注入成功
我们继续
基于布尔型的盲注
我们抓包进行测试
发现注入点,我们开始进行注入
发送数据包进行查看
查询成功,存在sql注入
我们继续
时间盲注,emmm
时间盲注主要使用if语句,通过延迟信息进行判断,不看回显信息
然后我们调出f12的network进行分析
5秒多,证明有sql注入存在,我们继续
我们再继续构造语句进行探测
构造了另一条代码
此时1ms就返回结果,说明数据库名第一位不是a
将a改为p,则一直不返回结果
说明数据库名第一位不是a
我们继续
首先打开页面抓包,发送到重发器那里
把name的值修改成1%df' or 1=1#,点击发送然后在render中看到成功了
遍历成功