常见的漏洞类型有哪些

等等,还有。
几年前,我在一家咖啡店编写代码。
旁边的叔叔突然问我如何防止数据库注入。
调试查询接口时间参数,于是我给了个手势。
他听得很认真,也懒得喝咖啡。
这件事已经过去两年了,看来这个小软件引擎现在已经开放了自己的。
不知道他是不是用了什么小伎俩。

常见的SQL注入类型分为哪几种

说白了,SQL注入分为两种:数字型和字符型。
这取决于输入参数的类型。
数字漏洞大多出现在PHP、ASP等弱类型语言中。
我们在去年进行的项目中遇到了他们。
当时参数是ID,数量级在3 000左右,SQL没有过滤直接合并,结果直接插入;弱类型语言会自动推断类型,因此漏洞很容易隐藏。
像Java和C这样的强类型语言是不同的。
如果想用字符串当数字,会直接报错。
我去年用Java写API的时候就尝试过这个,结果直接崩溃了。
因此,数字注入在强类型语言中确实很少见。
字体怎么样?这很棘手,因为字符串参数必须用单引号括起来,例如用户名和搜索关键字。
去年处理用户输入时我差点忘了转义它们。
幸好同事提醒了我,不然我就得加班修bug了。

说实话,这很令人困惑。
起初我认为强类型语言是绝对安全的,但后来发现这是错误的。
您还可以覆盖 Java 的自动装箱和拆箱。
等等,还有一件事。
输入字符时,如果参数是数字但用引号括起来,例如输入“1 2 3 ”,有些数据库会将其视为字符串。
很多人不重视这一点。
我们建议您在开发过程中不要仅仅依赖该语言的功能,而是明确地进行测试和转义。