转载自:https://blog.csdn.net/D_pokemon/article/details/77899640

通常 Sql 注入漏洞分为 2 种类型:

  • 数字型
  • 字符型

其实所有的类型都是根据数据库本身表的类型所产生的,在我们创建表的时候会发现其后总有个数据类型的限制,而不同的数据库又有不同的数据类型,但是无论怎么分常用的查询数据类型总是以数字与字符来区分的,所以就会产生注入点为何种类型。

5.2.1 数字型判断:

当输入的参 x 为整型时,通常 abc.php 中 Sql 语句类型大致如下:

select * from <表名> where id = x

这种类型可以使用经典的 and 1=1and 1=2 来判断:

    1. Url 地址中输入 http://xxx/abc.php?id= x and 1=1 页面依旧运行正常,继续进行下一步。
    1. Url 地址中继续输入 http://xxx/abc.php?id= x and 1=2 页面运行错误,则说明此 Sql 注入为数字型注入。

原因如下:

当输入 and 1=1时,后台执行 Sql 语句:

select * from <表名> where id = x and 1=1

没有语法错误且逻辑判断为正确,所以返回正常。

当输入 and 1=2时,后台执行 Sql 语句:

select * from <表名> where id = x and 1=2

没有语法错误但是逻辑判断为假,所以返回错误。

我们再使用假设法:如果这是字符型注入的话,我们输入以上语句之后应该出现如下情况:

 
  1. select * from <表名> where id = 'x and 1=1'

  2. select * from <表名> where id = 'x and 1=2'

查询语句将 and 语句全部转换为了字符串,并没有进行 and 的逻辑判断,所以不会出现以上结果,故假设是不成立的。

5.2.2 字符型判断:

当输入的参 x 为字符型时,通常 abc.php 中 SQL 语句类型大致如下:

select * from <表名> where id = 'x'

这种类型我们同样可以使用 and '1'='1and '1'='2来判断:

    1. Url 地址中输入 http://xxx/abc.php?id= x' and '1'='1 页面运行正常,继续进行下一步。
    1. Url 地址中继续输入 http://xxx/abc.php?id= x' and '1'='2 页面运行错误,则说明此 Sql 注入为字符型注入。

原因如下:

当输入 and '1'='1时,后台执行 Sql 语句:

select * from <表名> where id = 'x' and '1'='1'

语法正确,逻辑判断正确,所以返回正确。

当输入 and '1'='2时,后台执行 Sql 语句:

select * from <表名> where id = 'x' and '1'='2'

语法正确,但逻辑判断错误,所以返回正确。同学们同样可以使用假设法来验证。

--------------------- 本文来自 Daniel-0 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/D_pokemon/article/details/77899640?utm_source=copy

判断sql注入漏洞的类型相关推荐

  1. 拿到一个网站,怎么判断该网站是否存在sql注入漏洞?

    漏洞挖掘 漏洞利用 修复漏洞 sql注入漏洞.文件操作漏洞.xss.rce.逻辑漏洞 反序列化.... sql注入漏洞: 网站的数据库 脱裤 拖取网站数据库 数据库基础: 数据库基本结构:数据库 -- ...

  2. SQL注入(1)--判断是否存在SQL注入漏洞

    什么是SQL注入 不论是学习后端开发/数据库/网络安全,SQL注入安全隐患反复被提起 到底什么是SQL? 维基百科的定义: (1)什么是SQL? SQL是用来操控数据库的语言 (2)举一个例子,现在我 ...

  3. php sql注入判断,php防止sql注入漏洞过滤函数的代码

    php防止sql注入漏洞过滤函数的代码 //整型化 return $id; } //字符过滤函数 function str_check($str) { if (inject_check ( $str ...

  4. php注入点判断,PHPEMS一处SQL注入漏洞

    ### 简要描述: PHPEMS一处SQL注入漏洞 ### 详细说明: 8.PHPEMS某处SQL注入漏洞 存在注入漏洞的代码位置是/app/exam/phone.php的exercise()函数中 ...

  5. Backtrack5 SQL注入漏洞探测

    SQLMAP,它是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MS-SQL,,MYSQL,ORACLE和POSTGRESQL. SQLMAP ...

  6. SQL注入——SQL注入漏洞利用(零)(值得收藏)

    一.什么是SQL注入漏洞 攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系 统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后 台数据库 ...

  7. metinfo mysql_Metinfo 5.3.17 前台SQL注入漏洞

    Metinfo 8月1日升级了版本,修复了一个影响小于等于5.3.17版本(几乎可以追溯到所有5.x版本)的SQL注入漏洞.这个SQL注入漏洞不受软WAF影响,可以直接获取数据,影响较广. ### 0 ...

  8. Sophos 修复 Cyberoam OS 中的 SQL 注入漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 Sophos 公司为 Cyberoam 防火墙和路由器发布热补丁,修复一个 SQL 注入漏洞. Sophos 在2014年收购防火墙和 ...

  9. 【转】基于SQL的Web系统安全防范——SQL注入漏洞

    攻击研究及防范措施 SQL-Based Web System Security--Structured Query Language InjectionLeak Attack Study And De ...

最新文章

  1. 【驱动】GNSS驱动基础
  2. python组合数等于一个值_Python如何实现随机组合结果元组重复数量不能超过某个值?...
  3. Spring Boot实现一个天气预报系统(一)
  4. Angular - - $cacheFactory
  5. 如何向 Microsoft 管理控制台添加证书管理器
  6. 使左对角线和右对角线上的元素为0
  7. 主机ping不通Virtualbox里的虚拟机
  8. MySQL笔记-解决Can't connect to local MySQL server through socket '/xx/xx/mysql.sock' (111)及(2)
  9. monkey测试小结
  10. python 单链表查找元素_如何在python中一次找到链表的中间元素?
  11. python线程按照顺序执行_Python3多线程之间的执行顺序问题
  12. element table 无数据时显示图片替换“暂无该数据“
  13. python微信api_python调用企业微信API
  14. Deeping Learning学习与感悟——《深度学习工程师》_5
  15. pdf转换成jpg python_Python将PDF转成图片PNG和JPG
  16. R语言绘制NMDS图
  17. Python-Level2-day04:正则表达式概述,元字符使用,匹配规则(特殊字符匹配,贪与非贪婪模式,分组),re模块使用
  18. 计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)
  19. 解决DoubanFM第三方客户端UI线程与工作线程交互问题
  20. Android Notification取消声音 取消弹出

热门文章

  1. mysql 提示The maximum column size is 767 bytes.
  2. 【信道编码/Channel Coding】汉明码Hamming Code
  3. 关于SparkSQL的开窗函数,你应该知道这些!
  4. vim编辑了没有写权限的文件如可不退出保存
  5. 在windows和ubuntu下安装Syncthing
  6. 【周志华机器学习】五、神经网络
  7. 【HDU 1043】Eight(A*启发式搜索算法)
  8. 微信小程序云开发---发送邮件功能
  9. LSP是第一生产力 深夜开车,图片不够了怎么办?爪巴就完事了(爬虫爬取网页图片)
  10. 关苏哲-洞察问题本质,解决工作难题