简介

SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序。 在应用程序中,如果没有做恰当的过滤,则可能使得恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者)。

按技巧分类

根据使用的技巧,SQL注入类型可分为

  • 盲注

    • 布尔盲注:只能从应用返回中推断语句执行后的布尔值
    • 时间盲注:应用没有明确的回显,只能使用特定的时间函数来判断
  • 报错注入:应用会显示全部或者部分的报错信息
  • 堆叠注入:有的应用可以加入 ; 后一次执行多条语句
  • 其他

按获取数据的方式分类

另外也可以根据获取数据的方式分为3类

inband

利用Web应用来直接获取数据,如报错注入,这类注入都是通过站点的响应或者错误反馈来提取数据。

inference

通过Web的一些反映来推断数据,如布尔盲注,也就是我们通俗的盲注, 通过web应用的其他改变来推断数据。

out of band (OOB)

通过其他传输方式来获得数据,比如DNS解析协议和电子邮件。

常见的注入点

  • GET/POST/PUT/DELETE参数
  • X-Forwarded-For
  • 文件名

判断数据

dbtype = {'MySQL':' AND QUARTER(NULL) IS NULL','Oracle':' AND ROWNUM=ROWNUM','PostgreSQL':' AND 7290::int=7290','Microsoft SQL Server':' AND UNICODE(SQUARE(NULL)) IS NULL','SQLite':' AND LAST_INSERT_ROWID()=LAST_INSERT_ROWID()','Microsoft Access':' AND VAL(CVAR(1))=1','Firebird':' AND (SELECT COUNT(*) FROM RDB$DATABASE WHERE 5869=5869)>0','SAP MaxDB':' AND ALPHA(NULL) IS NULL','Sybase':' AND @@transtate=@@transtate','IBM DB2':' AND 4866=(SELECT 4866 FROM SYSIBM.SYSDUMMY1)','HSQLDB':' AND CASEWHEN(1=1,1,0)=1','Informix':' AND 6899=(SELECT 6899 FROM SYSMASTER:SYSDUAL)','mysql':' and (select count(*) from information_schema.tables)>0','mssql':' and (select count(*) from sysobjects)>0','access':' and (select count(*) from msysobjects)>0'}

或者使用数据库特有函数来判断

MySQL:ascii(),length(),sleep()
Mssql:ascii(),len(),waitfor delay '0:0:1'
Oracle:ascii(),length()
Access:asc(),len()
Sqlite:length(),ascii()和asc()都不存在
注意:
oracle数据库和MySQL数据库的两个函数是一样的,所以MySQL数据库如果没有拦sleep()函数的话,最好多做一下延迟的判断;
oracle数据库一定要带一个表,一般测试都是带dual这个,因为这个一般都有的
我一般用上面的函数来判断,而且一般waf不拦,上面的函数,两个结合使用,那就可以判断出数据库类型了

参考

readthedocs
还有万能的聂聂大佬的小本本

我的博客

欢迎有缘人访问:blog

SQL注入之注入检测总结相关推荐

  1. SQL注入漏洞的检测与防范技术

    提 要   本文从SQL注入的基本概念和注入原理入手,分析总结了SQL注入漏洞的检测及其防范技术措施. 关键词  SQL注入漏洞 检测 防范技术 引 言    近几年来随着计算机网络和WEB技术的飞速 ...

  2. 服务器怎么修复插件,如何修复服务器状态代码:302由SQL发现我注入了Firefox插件...

    我使用SQL Inject Me Firefox插件扫描了登录脚本 根据测试结果,我的脚本容易受到SQL注入的攻击.结果示例 Results: Server Status Code: 302 Foun ...

  3. SQL注入_1-6_user-agent注入

    SQL注入_1-6_user-agent注入 一.概念 User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本. ...

  4. sql 整改措施 注入_防止SQL注入的五种方法

    一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...

  5. sql注入pythonpoco_SQL注入原理与解决方法代码示例

    一.什么是sql注入? 1.什么是sql注入呢? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网 ...

  6. SQL 注入漏洞(八)时间注入/延时注入

    一.时间注入 时间注入又名延时注入,属于盲注入的一种,通常是某个注入点无法通过布尔型注入获取数据,而采用一种突破注入的技巧. 在 mysql 里 函数 sleep() 是延时的意思,sleep(10) ...

  7. concat mysql sql注入_sql注入-mysql注入基础及常用注入语句

    最近在教学中,关于SQL注入,总发现学生理解起来有些难度,其实主要的原因是对各类数据库以及SQL语句不熟悉,今天先介绍mysql注入需要掌握的基础, Mysql内置information_schema ...

  8. php sql 二次注入,espcms 二次注入一枚

    Author:Yaseng 1:通过 $alias 二次注入来控制sql 用户昵称 $alias 从数据库查询出来 未过滤 interface/member.php [php] $db_sql = & ...

  9. sql注入查找注入点_基本的EJB参考,注入和查找

    sql注入查找注入点 在本系列的第一部分中 ,我们介绍了Enterprise JavaBeans v.3.0规范提供的机制,用于定义EJB组件,声明对EJB的引用并通过依赖项注入或程序化JNDI查找将 ...

  10. sql通用防注入程序php,sql通用防注入系统_PHP教程

    sql通用防注入系统 本文章提供这款防sql注入代码是一款php sql 双过滤非法字符的函数,他可以根据用户自定的防sql注入哦,先是过滤一些sql命令,再是就是把post get 过滤一次,最好验 ...

最新文章

  1. springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
  2. Asp.Net Core 第02局:Program
  3. IO多路复用的三种机制Select,Poll,Epoll
  4. 华为宣布:免费培养2万名Python开发者!
  5. java string is empty_从源码分析java.lang.String.isEmpty()
  6. 360浏览器升级_360安全卫士下载|360安全卫士 12.0 最新版
  7. python3可以运行python2的代码吗_Python同时兼容python2和python3的8个技巧分享
  8. poj 3468 A Simple Problem with Integers 线段树!!!!
  9. 如何清理驱动人生的新闻弹窗
  10. 数据库系统概念第七版(Database System Concepts 7th)课后习题答案英文版
  11. word图片自动生成域
  12. teraterm--一款超好用堪比MobaXterm的远程终端连接软件,能解决shell端tab键等自动补全命令功能的缺失问题
  13. 美图秀秀 web开发图片编辑器
  14. mysql读写分离实现方式_MySQL实现读写分离的两种经典方案
  15. 【Java】设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。
  16. php网站服务器ip地址吗,php 服务器ip地址吗
  17. 亚马逊多账户操作需要知道哪些规则
  18. 生产安全事故应急预案
  19. 郭敬明道歉承认作品抄袭:如何维护互联网作品版权信息
  20. 安装Fiddler证书到夜神模拟器系统证书中

热门文章

  1. echarts按照时间显示柱状图_百度Echarts 柱状图 动态显示
  2. python包 —rdkit 安装
  3. nx显示服务器错误,ug6.0软件打开出现nx许可证错误的解决办法
  4. Python爬虫教程:包图网免费付费素材爬取【附源码】
  5. 关于私信问题和时间管理的感悟
  6. php项目收银系统,(三)设计模式之PHP项目应用(策略模式:商场收银系统)
  7. 统计通话次数和时间的软件_手机通话时间统计软件下载
  8. 影像系统需求分析及架构概要
  9. Android 车载应用开发与分析(5) - CarLauncher(一)
  10. Biopython -- SeqIO