布尔注入是盲注之一,进行sql语句注入后,选择的数据并不能返回到前端。只能利用其他方法来判断,还是简单介绍下学到的知识点。 left(database(),n) database() 数据库名称 left()函数表示截取数据库左侧n个字符 substr(a,b,c) 从字符串a的b位置开始截取c个字符,当b为负数时截取位置是从字符串a右端向左数b个字符 mid(a,b,c) 从字符串a的b位置开始截取c个字符,c为非必需若省略返回剩余文本 ord()与ascii() 这两个函数都是将字符转化成ascii值 limit i,n第一个参数:从i开始查 ; 第二个参数:查n条 有时不报错可能是因为前面语句没错误,使得union后面语句没执行 IFNULL(exp1,exp2) 如果exp1不为null,返回exp1否则返回exp2 cast(exp as data_type)as之前是待处理数据,后面是要转换的类型。有时还有要求eg:CAST(‘12.5’ AS decimal(10,2)) 10代表所有数字位数限制为10 ,2表示小数点后两位 故结果为12.50 如果前面type换成int 则运行错误 。另精度和小数位数的默认值分别是18与0,decimal下 浮点数不说明的情况下会出来整数。 直接单引号测试,页面发生变化 http:/