概述
- POST型注入与GET型注入操作上没有任何区别
- 仅是HTTP的请求方式不同罢了
- GET型出现的注入类型,POST型都有可能出现
出现场景
- 登录
- 更改密码
- 注册
- 等敏感信息处一般都会使用post请求方式
靶场
1、登录框,一般情况下
2、随便输入,打开burpsuite进行抓包
抓包数据包,发送到repeater模块
3、使用\进行探测
产生报错信息
4、猜想username传入的值会不会被单引号包裹,故可以进行构造闭合
' or 1=1 -- q
’ or 1=1 – q 也称为万能密码
原理:
后端代码
@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd'
当username变量得到传参’ or 1=1 – q
@$sql="SELECT username, password FROM users WHERE username='' or 1=1 -- q ' and password='$passwd'
前面的单引号闭合掉,or 1=1 为真,-- q注释掉后面的
万能密码
’ or 1=1 – q ,根据参数包裹方式不同,单引号可适当做变化
5、猜测字段数
字段数为3
6、使用联合查询,观察回显点
7、得到回显点2,3,查看版本号和当前数据库名
8、利用information_schema数据库得出数据
9、爆出当前数据库下的表名
10、爆出表名flag,user,爆出flag表中的字段名
11、得到id、flag字段信息的值