一:SQl注入分类
按照注入的网页功能类型分类:
1、登入注入:表单,如登入表单,注册表单
2、cms注入:CMS逻辑:index.php首页展示内容,具有文章列表(链接具有文章id)、articles.php文
章详细页,URL中article.php?id=文章id读取id文章
按照注入点值得属性分类
1、数值型 sql=“select * from admin where id=1”
2、字符车型 sql=“select * from 表 where id =”XXX“”
基于从服务器返回的内容
1、有回显(基于错误的)
2、无回显(盲注)
按照注入的程度和顺序
1、一阶注入
2、二阶注入
二:Mysql注入知识
mysql数据库元信息
mysql数据库常用查询(前面加select)
mysql数据库注释(#、-- 空格(%20)、/*...*/、/*!SQL语句*/(只有mysql可以识别,常用来绕过WAF))
1.# 和 (有个空格)表示注释,可以使它们后面的语句不被执行。在url中,如果是get请求(记住是get请求,也就是我们在浏览器中输入的ur),解释执行的时候,ur中#号是用来指导浏览器动作的,对服务器端无用。所以HTTP请求中不包括#,因此使用#闭合无法注释,会报错,而使用。 (有个空格),在传输过程中空格会被忽略同样导致无法注释,所以在get请求传参注入时才会使用--+的方式来闭合,因为+会被解释成空格。
2.当然,也可以使用--%20,把空格转换为urlencode编码格式,也不会报错。同理把#变成%23,也不报错
3.如果是post请求,则可以直接使用#来进行闭合。常见的就是表单注入,如我们在后台登录框中进行注入。