ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SQL注入流程

SQL注入流程

SQL注入流程
1.寻找注入点
得到目标网站的一般信息和技术分析信息之后,就要寻找注入点和测试注入点,这些点位都是与数据库有交互的地方
常用注入点在哪里?
我们一般在三个地方,寻找注入点

  1. 表单中的输入参数
  2. URL中的参数
  3. Cookie或header头中其它参数
    用户信息、排名公布、文章展示、评论、搜索框、登陆框、cookie(session持久化需要存储在数据库中)

2.测试注入点&&判断闭合符号
常用的测试符号:

  • 单引号 '
  • 双引号 "
  • 无符号(直接拼接)
  • 圆括号 ()

这些符号通常是服务器后台代码中用来包裹用户输入变量的字符,当插入正确的闭合字符时,会破坏原有的sql语句;
根据报错信息判断闭合符号
输入常用闭合符号使页面抛出sql语法错误的报错信息,根据报错信息可以发现闭合符号

3.注入sql语句
找到注入点以后,我们就可以执行相应的sql语句,来获取数据库中的信息

  • 首先使用order by 语句判断列数,其一般使用二分法查找列数
    要注意的是联合查询前后两条 select 语句查询数据的列数是相等的,故需要使用 order by 语句来判断注入点sql语句查询的列数是多少order by 排序超过查询结果列数的时候就会抛出错误,故可以使用它来判断前一条 select 语句查询结果的列数。
  • 然后进行暴库、爆表、爆字段、爆数据
    暴库是查找所有数据库名的意思,mysql的注入可以从 information_schema 数据库中查询所有表的结构(库名、表名、字段名)信息。
返回列表