判断sql注入漏洞的类型
来源:互联网 发布:cip数据核字号在哪里 编辑:程序博客网 时间:2024/05/18 13:28
通常 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'
语法正确,但逻辑判断错误,所以返回正确。同学们同样可以使用假设法来验证。
阅读全文
0 0
- 判断sql注入漏洞的类型
- SQL注入漏洞的判断
- SQL注入漏洞的判断_见微知著
- Sql注入漏洞的例子
- 万恶的SQL注入漏洞
- 一个典型的sql注入漏洞
- 玩玩12306的SQL注入漏洞
- SQL防注入漏洞的方法
- sql注入漏洞的一种实例
- SQL注入漏洞的防案
- [漏洞分析] ProjectSend r561中SQL注入漏洞的浅析
- Sql 注入漏洞,注意
- SQL注入漏洞
- sql注入漏洞原理
- SQL 注入漏洞新动向
- SQL注入漏洞接触
- SQL注入漏洞
- 防范SQL注入漏洞
- hdu3336 Count the string(next数组)
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Python——Python3.6.0+Scrapy安装方法(总算没有bug了)
- POJ 2823 Sliding Window(单调队列~)
- maven+thymeleaf笔记-2
- 判断sql注入漏洞的类型
- maven根据不同的运行环境,打包不同的配置文件
- bitset入门
- Mysql中文乱码问题完美解决方案
- [LeetCode] Hamming Distance 汉明距离
- tomcat7安装详细过程
- hibernate--HQL语法与详细解释
- SQL SERVER 和EXCEL的数据导入导出
- Leecode算法解析-Longest Substring