判断sql注入漏洞的类型
转载自: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=1
和 and 1=2
来判断:
- Url 地址中输入
http://xxx/abc.php?id= x and 1=1
页面依旧运行正常,继续进行下一步。
- Url 地址中输入
- Url 地址中继续输入
http://xxx/abc.php?id= x and 1=2
页面运行错误,则说明此 Sql 注入为数字型注入。
- Url 地址中继续输入
原因如下:
当输入 and 1=1
时,后台执行 Sql 语句:
select * from <表名> where id = x and 1=1
没有语法错误且逻辑判断为正确,所以返回正常。
当输入 and 1=2
时,后台执行 Sql 语句:
select * from <表名> where id = x and 1=2
没有语法错误但是逻辑判断为假,所以返回错误。
我们再使用假设法:如果这是字符型注入的话,我们输入以上语句之后应该出现如下情况:
select * from <表名> where id = 'x and 1=1'
select * from <表名> where id = 'x and 1=2'
查询语句将 and 语句全部转换为了字符串,并没有进行 and 的逻辑判断,所以不会出现以上结果,故假设是不成立的。
5.2.2 字符型判断:
当输入的参 x 为字符型时,通常 abc.php 中 SQL 语句类型大致如下:
select * from <表名> where id = 'x'
这种类型我们同样可以使用 and '1'='1
和 and '1'='2
来判断:
- Url 地址中输入
http://xxx/abc.php?id= x' and '1'='1
页面运行正常,继续进行下一步。
- Url 地址中输入
- Url 地址中继续输入
http://xxx/abc.php?id= x' and '1'='2
页面运行错误,则说明此 Sql 注入为字符型注入。
- Url 地址中继续输入
原因如下:
当输入 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注入漏洞的类型相关推荐
- 拿到一个网站,怎么判断该网站是否存在sql注入漏洞?
漏洞挖掘 漏洞利用 修复漏洞 sql注入漏洞.文件操作漏洞.xss.rce.逻辑漏洞 反序列化.... sql注入漏洞: 网站的数据库 脱裤 拖取网站数据库 数据库基础: 数据库基本结构:数据库 -- ...
- SQL注入(1)--判断是否存在SQL注入漏洞
什么是SQL注入 不论是学习后端开发/数据库/网络安全,SQL注入安全隐患反复被提起 到底什么是SQL? 维基百科的定义: (1)什么是SQL? SQL是用来操控数据库的语言 (2)举一个例子,现在我 ...
- php sql注入判断,php防止sql注入漏洞过滤函数的代码
php防止sql注入漏洞过滤函数的代码 //整型化 return $id; } //字符过滤函数 function str_check($str) { if (inject_check ( $str ...
- php注入点判断,PHPEMS一处SQL注入漏洞
### 简要描述: PHPEMS一处SQL注入漏洞 ### 详细说明: 8.PHPEMS某处SQL注入漏洞 存在注入漏洞的代码位置是/app/exam/phone.php的exercise()函数中 ...
- Backtrack5 SQL注入漏洞探测
SQLMAP,它是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MS-SQL,,MYSQL,ORACLE和POSTGRESQL. SQLMAP ...
- SQL注入——SQL注入漏洞利用(零)(值得收藏)
一.什么是SQL注入漏洞 攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系 统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后 台数据库 ...
- metinfo mysql_Metinfo 5.3.17 前台SQL注入漏洞
Metinfo 8月1日升级了版本,修复了一个影响小于等于5.3.17版本(几乎可以追溯到所有5.x版本)的SQL注入漏洞.这个SQL注入漏洞不受软WAF影响,可以直接获取数据,影响较广. ### 0 ...
- Sophos 修复 Cyberoam OS 中的 SQL 注入漏洞
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 Sophos 公司为 Cyberoam 防火墙和路由器发布热补丁,修复一个 SQL 注入漏洞. Sophos 在2014年收购防火墙和 ...
- 【转】基于SQL的Web系统安全防范——SQL注入漏洞
攻击研究及防范措施 SQL-Based Web System Security--Structured Query Language InjectionLeak Attack Study And De ...
最新文章
- 【驱动】GNSS驱动基础
- python组合数等于一个值_Python如何实现随机组合结果元组重复数量不能超过某个值?...
- Spring Boot实现一个天气预报系统(一)
- Angular - - $cacheFactory
- 如何向 Microsoft 管理控制台添加证书管理器
- 使左对角线和右对角线上的元素为0
- 主机ping不通Virtualbox里的虚拟机
- MySQL笔记-解决Can't connect to local MySQL server through socket '/xx/xx/mysql.sock' (111)及(2)
- monkey测试小结
- python 单链表查找元素_如何在python中一次找到链表的中间元素?
- python线程按照顺序执行_Python3多线程之间的执行顺序问题
- element table 无数据时显示图片替换“暂无该数据“
- python微信api_python调用企业微信API
- Deeping Learning学习与感悟——《深度学习工程师》_5
- pdf转换成jpg python_Python将PDF转成图片PNG和JPG
- R语言绘制NMDS图
- Python-Level2-day04:正则表达式概述,元字符使用,匹配规则(特殊字符匹配,贪与非贪婪模式,分组),re模块使用
- 计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)
- 解决DoubanFM第三方客户端UI线程与工作线程交互问题
- Android Notification取消声音 取消弹出