3.1常见的sql注入利用技术

3.1.1使用堆叠查询

堆叠查询指的是在单个数据库连接中执行多个查询。

3.2识别数据库

3.2.1 常见系统架构组合识别

Asp和.net通常使用sqlserver

Php通常使用mysql或者postgresql

Java通常是oracle或mysql

Iis服务器是基于windows的架构,后台数据库有可能是sqlserver

Apache服务器,可能使用开源数据库mysql或postgresql

3.2.2 非盲跟踪

大多数情况下想识别数据,只需查看一条足够详细的错误信息即可。不同数据库错误信息也不同。

例如:添加一个单引号使数据库报错。

通过报错信息,就能很轻易判断出是mysql数据库。

如果出现类似错误说明。服务端代码没有对数据库查询语句进行错误判断。这样是非常危险的,直接将服务器文件目录返回给了用户。

进行错误判断的代码实列:

其他类型数据库报错信息,如果自己无法判断,google搜索一下,就可以查询到。

3.2.2.1 获取标志信息

从错误信息中,我们可以获取很多的数据库信息,但是这样还不够。

我们可以使用数据库查询函数进行,更多的查询。

例如:对于mysql数据库,执行select version();

即可查看数据库版本。还可以进一步查看用户,用户权限等等

//UNDO

3.2.3 盲跟踪

如果应用不直接返回你所需 的数据,就需要采用其他方法。这种方法基于不同数据库所使用的sql语句上的细微差异。最常用的技术就是利用不同数据库在连接字符串上的差异。

3.2.3.1 连接字符串判断数据库

该查询对大多数数据库,查询结果都一致,当如果将字符串分成两个字串,不同产品会有不同结果。

3.2.3.1 针对mysql数据库:select concat('str','ing')

使用concat()函数时,需为数字型注入

2. select 'str' 'ing'

构造payload过程中需时刻注意闭合问题。

3.2.3.2 数字函数判断数据库

面对mysql可以使用三种不同的方式来包含注释。

1)#

2)--

3)/**/

针对第三个注释如果在第一个*后面加一个!,后面再跟上数据库版本编号,那么该注释将被解析成带代码。

例如:

select 1 /*!40119 + 1*/

返回结果:

2(如果mysql版本为4.01.19或更高版本)

1(其他情况)

这里我版本为5.5.53。只能返回1.

sql注入mysql判断_sql注入笔记二——数据库信息判断相关推荐

  1. oracle判断某列是否有单引号_sql注入二 ——数据库信息判断

    3.1常见的sql注入利用技术 3.1.1使用堆叠查询 堆叠查询指的是在单个数据库连接中执行多个查询. 3.2识别数据库 3.2.1 常见系统架构组合识别 Asp和.net通常使用sqlserver ...

  2. 项目管理学习笔记二:信息系统服务管理

    项目管理学习笔记二:信息系统服务管理 2010-10-22 09:56:33 标签:信息系统 笔记 项目管理 服务 学习 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ...

  3. sql盲注特点_SQL注入第二章——access,mssql,oracle

    一.Access注入 Access是轻量级数据库,特点是没有库,没有用户,单文件即可存储数据,在SQL注入时必须猜测表名和列名. Access只有联合注入和布尔盲注. 1,联合注入 http://12 ...

  4. sql盲注特点_SQL注入介绍及分类解读

    SQL全称是Structured Query Language,是一种结构化的查询语言,用于与数据库进行交互并能够被数据库解析.SQL注入攻击是一种常见的注入攻击类型.攻击方式在用户与程序进行交互时发 ...

  5. mysql注入fuzz字典_sql注入fuzz bypass waf

    0x0 前言 0x1 注入点检测 0x2 bypass waf 0x3 自动化 0x0 前言 这里是简单对sql注入绕过waf的一个小总结,非安全研究员,这里不讲原理,关于原理搜集了一些其他大佬的文章 ...

  6. union连接攻击MySQL函数_sql注入之必备的基础知识

    什么是sql注入(sql injection) 所谓sql注入式攻击,就是攻击者把sql命令插入到web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的sql命令.在某些表单中,用户输入的内容 ...

  7. mysql注入转义绕过_SQL注入防御绕过——宽字节注入

    01 背景知识 字符集 在了解宽字节注入之前,我们先来看一看字符集是什么.字符集也叫字符编码,是一种将符号转换为二进制数的映射关系. 几种常见的字符集: ASCII编码:单字节编码 latin1编码: ...

  8. mysql 注入用例_SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

    1.WVS自动化SQL注入测试 n  测试目的: 测试网站是否存在SQL注入漏洞. n  测试用例: 1)     Scan settings选择sql injection策略: 2)     输入扫 ...

  9. mysql注入fuzz字典_SQL注入常规Fuzz全记录

    前言 本篇文章是在做ctf bugku的一道sql 盲注的题(题目地址:注入题目)中运用了fuzz的思路,完整记录整个fuzz的过程,给师傅们当点心,方便大家加深对web sql注入 fuzz的理解. ...

最新文章

  1. 极大似然估计的理解与应用
  2. DOSBOX使用的一些方法和注意点(汇编实验中遇到的)
  3. JSON文件学习(jsonc、json-c)(不要学这个,去学cJSON)
  4. Linux学习之系统编程篇:信号的基本概念
  5. 网络编程(part2)--文件读写之打开/读取/写入
  6. * 四、要求写一个方法:method。该方法要求传入一个数字n(n要小于10), * 该方法能够计算得到所有各位上的数字不超过n且每一位的数字都不重复的三位数的个数。
  7. 2017.9.29 谁能赢呢? 思考记录
  8. 山财燕山学院计算机科学与技术专业,山东财经大学燕山学院
  9. 用jquery实现图片轮播
  10. bootstrap table背景_bootstrap table给行怎么加背景色
  11. 《现代操作系统(中文第四版)》课后习题答案 第三章 内存管理
  12. 黑苹果能安装mysql吗_黑苹果安装与踩坑记
  13. 自学考c语言计算机二级会,2级c语言(全国c语言二级考试题库)
  14. 一个简单T9输入法的实现
  15. 知识点滴 - 什么是YAML文件
  16. 进程proc文件介绍
  17. 转载:Linux下用mutt给QQ邮箱发匿名邮件
  18. PyCharm修改背景颜色
  19. 用C#读取二进制文件
  20. 辟谣:Deno不是下一代Node.js!

热门文章

  1. 思科设备debug命令的使用
  2. 像拍电影一样做软件(译者序)原创
  3. VBKiller使用说明
  4. idea导入项目无法通过tomcat插件无法运行记录
  5. mysql慢查询面试题_头条Java岗3面入职:事务+慢查询SQL+Redis+秒杀设计面试题等
  6. 南京邮电大学java程序设计作业在线编程第二次作业
  7. 用Solr4.10实在全文检索
  8. php课程---JavaScript与Jquery的区别(转)
  9. rails gem devise 整死我算了
  10. MonoRail学习笔记十八:在VM中可以使用哪些系统变量