代码注入

更新时间:2024-05-10 15:41

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。

定义

用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。

代码注入的用途

蓄意的用途

恶意使用

代码注入的使用一般被视为心怀恶意的举动,而它确实常常如此。透过代码注入技术在或者破解系统上,以获取信息、提权、或者非法访问某系统是相当流行的。

恶意用途的代码注入可包括:

善意使用

这些人诉诸此种替代手段大致是下面几种原因之一:

一般开发社群对以此为目的的代码注入不表欢迎。他们称这种行为为三脚猫、半调子、或者骇 / 黑程序。(kludge or hack)

某些开发者允许或者甚至表扬代码注入的使用来“加强”他们的软件;通常是因为该方案提供了较不昂贵的方式来实现新的或者特殊化的功能。不幸的是,其副作用与无法列管的蕴含式可能相当危险。

一般来说,即使相当善意的代码注入使用都不被建议使用。

非蓄意的用途

某些用户可能会不经意的进行代码注入,因为他们对程序提供的输入,没列在当初开发系统者的考虑中。例如:

避免代码注入

要避免代码注入的种种问题,得充分发挥输入输出处理保全,例如:

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}