盲注分为两类:
- 布尔盲注:字面意思,只有对和错两种,执行注入的sql语句后,页面看不到别的内容,只能看到页面的两种变化,一种是执行没出问题的页面,一种是执行错误的页面
- 时间盲注:时间盲注在执行注入的sql语句后,无论有没有问题,他的页面始终不变
这里介绍几个函数:
- Length()函数用来识别括号内字符串的长度
- ascii()函数可以将单个字符串转换为ASCII码
- substr()这是一个分割函数,它需要三个参数substr(“需要分割的数据”,“从哪里开始分割”, “分多少位”)
- if()函数,基本在很多的编程语言都有接触到。在这里它也需要三个参数:if(“条件”,“条件为True, 执行这里”,“条件为False,执行这里”)
- sleep()函数,睡眠的意思,能控制你睡眠多少秒
手工注入基本步骤:先测试出是哪种盲注类型,因为页面不会回显结果,所以必须都是靠猜,可以转换成ascll码,在sql里面比大小确定字母,判断页面的变化
- 注入点测试
- 猜数据库名长度
- 猜数据库名(ASCII)
- 猜表名长
- 猜表名
- 猜字段名长
- 猜字段名
- 猜数据长
- 猜数据
来一段注入代码以供参考:?id=1' and (ascii(substr((select column_name from information_schema.columns where table_name='users' limit 1,1),1,1)))<80--+
标签:函数,substr,sql,页面,盲注,注入 From: https://www.cnblogs.com/lovexiaoxingxing/p/18081541