SQL注入实战操作

一: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数据库元信息

SQL注入实战操作_第1张图片

mysql数据库常用查询(前面加select)

SQL注入实战操作_第2张图片

mysql数据库注释(#、--  空格(%20)、/*...*/、/*!SQL语句*/(只有mysql可以识别,常用来绕过WAF))

1.# 和 (有个空格)表示注释,可以使它们后面的语句不被执行。在url中,如果是get请求(记住是get请求,也就是我们在浏览器中输入的ur),解释执行的时候,ur中#号是用来指导浏览器动作的,对服务器端无用。所以HTTP请求中不包括#,因此使用#闭合无法注释,会报错,而使用。 (有个空格),在传输过程中空格会被忽略同样导致无法注释,所以在get请求传参注入时才会使用--+的方式来闭合,因为+会被解释成空格。

2.当然,也可以使用--%20,把空格转换为urlencode编码格式,也不会报错。同理把#变成%23,也不报错

3.如果是post请求,则可以直接使用#来进行闭合。常见的就是表单注入,如我们在后台登录框中进行注入。

你可能感兴趣的:(sql,数据库)