SQL数字型注入教程

SQL注入漏洞可以细分很多种。今天,马会社区( mahui.org )分享的是《SQL数字型注入教程》。希望对大家有所帮助。

SQL注入漏洞原理
SQL注入漏洞原理

当输入的参数为整数时,如:ID、年龄、页码等,如果存在注入漏洞,则可以认为是数字型注入,数字型注入是最简单的一种。假设有URL为

https://mahui.org/ test.php?id=8

可以猜测SQL语句为:

select * from table where id=8

测试步骤如下:

1、https://mahui.org/ test.php?id=8

SQL语句为: select * from table where id=8’,这样的语句肯定会出错,导致脚本程序无法从数据库中正常获取数据,从而使原来的页面出现异常。

2、https://mahui.org/ test.php?id=8 and 1=1

SQL语句为:select * from table where id=8 and 1=1,语句执行正常,返回数据与原始请求无任何差异。

3、https://mahui.org/ test.php?id=8 and 1=2

SQL语句变为:select * from table where id=8 and 1=2,语句执行正常,但却无法查出数据,因为“and 1=2”始终为假。所以返回数据与原始请求有差异。

如果以上三个条件均满足,则程序就可能存在SQL注入漏洞。

这种数字型注入最多出现在ASP、PHP等弱类型语言中,弱类型语言会自动推导变量类型,例如,参数id=8,PHP会自动推导变量id的数据类型为int类型,那么id=8 and 1=1,则会推导为string类型,这是弱类型语言的特性。但Java与C#这类强类型语言就不会。

以上就是马会社区( mahui.org )分享的是《SQL数字型注入教程》。感谢您的阅读。

mahui.org 原创文章,仅限技术研究。发布者:马会,转转请注明出处:https://mahui.org/tech/2263.html

发表评论

邮箱地址不会被公开。 必填项已用*标注