第一种方法,用or语句或者and查询
因为对--+和#进行了过滤,所以只有用and和or进行语句闭合
首先在运用闭合语句之前要弄清楚or语句的原理以及执行顺序
在mysql数据库中用id=1和id=1 or 1=1,是不一样的,因为or 1=1是永远成立的语句,所以有一个正确都会返回所有信息,而and1=1要看前面的情况不一定恒成立,所以不是显示全部信息
通过改变列数为错误值,发现返回也为正确,说明and或者or的执行顺序在order by之前
但是当把order by 放在后面的时候,就会正常执行了,这个是由mysql的执行顺序而定的,可以理解为order by 在执行的时候被忽略了,这是由mysql执行顺序而定的
正式开始
在输入参数id=1后输入双引号时没有显示报错,但当我们输入单引号时显示报错,说明此处可能存在注入漏洞,但当我们输入注释符后,并没有回显正常,这和前面一二关是不一样的
这里我们可以用另外一种注释符号进行注释;%00,,但是不知道为什么pwn靶机上面不能识别
只能用 ' or '1'=' 来闭合
1、查表q0gQUOwb
?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' or '1'='
2、爆字段
3、爆值
第二种方法,报错注入
运用updatexml,然后在database位置进行注入查询语句
1、要用limit一条一条的查询
后面步骤大多和前面差不多,这里就不再重复了