布尔,时间,报错三种盲注类型
--------------
-基于布尔的 SQL 盲注-逻辑判断regexp,like,ascii,left,ord,mid-基于时间的 SQL 盲注-延时判断if,sleep-基于报错的 SQL 盲注-报错回显floor,updatexml,extractvaluehttps://www.jianshu.com/p/bc35f8dd4f7c
sql查询的方式
select,insert,update,delete,orderby 等
函数的使用
left()
直接使用and拼接即可,无需加上select,第一个就是left(database(),1)='s'这种写法,第二个就是后面的字母写在一起left(database(),2)='ss',小迪举例如下
--------------------
and left(database(),2)='s' 返回正确
and left(database(),2)='p'返回不正确
and left(database(),2)='sy' 错误
and left(database(),2)='ss' 正确
靶场也能用,比使用substr+infomation_schema这个组合快多了
if()
也是直接链接and后面使用不需要select,if(1=1,sleep(5),0),第一个参数1=1就是判断是否为真,为真就返回第一个语句sleep(5),否则就返回第二个语句0;
判断数据库长度是1的话是错误的所以没有执行sleep函数,长度是12的时候执行了sleep(10)秒
if(length(database())=1,sleep(10),0)
报错注入其实后端会加上容错处理or die(mysql_error())这个函数才会在执行sql语句报错的时候把内容也显示出来
根据不同的功能点后台的sql语句也不同,不一定非要查询的地方会出现sql注入,增删改查都可能会出现