5)代码错误:程序员在编写代码时使用了不完善的数据库函数,或者是没有正确使用接口,因而导致Web应用产生漏洞。
2。3 Web 应用漏洞扫描技术分析及其检测方法
2。3。1 SQL 注入漏洞
(1)SQL注入漏洞原理:指的是很多程序员在编写Web应用程序代码时,没有对用户所输入的数据进行判断 ,而使应用程序存在了安全隐患。未经验证的情况下,系统将输入的信息数据当做是程序需要执行的语句,因而注入在系统中,Web应用也因此受到了一定的破坏和入侵。那么在经过验证后,用户可以提交一段数据库特殊代码,并且通过程序返回的结果,从中获得服务器及应用程序的相关信息,或者某些用户想得知的数据。
举例说明:文献综述
假设我们现在要通过id编号来搜索网页,寻找需要的文章,假如有以下网站链接: http://www。xxx。com/paper。php?id=1 但是在后台PHP语句就可能是这样的: $result = mysql_query("SELECT * FROM paper where id = ‘$_GET[‘id’]’"); 当传入数据库被执行的最终SQL语句是这样的: SELECT * FROM paper where id =‘1’;
最简单的测试方式:
1。 http://www。xxx。com/paper。php?id=1’
2。 http://www。xxx。com/paper。php?id=1’and ‘1’=‘1
3。 http://www。xxx。com/paper。php?id=1’and ‘1’=‘2
在id参数的后面分别添加以上的内容会发生什么?
从上述语句被执行的结果中,可以发现通过我们精心构造的语句发送给后台,然后在后台执行所构造的SQL语句,从而达到了控制返回后台的结果,这样我们就可以进一步构造语句,来查询我们想要的结果,甚至是在数据库中插入木马都是可行的。
Web应用程序漏洞扫描器设计(4):http://www.youerw.com/jisuanji/lunwen_202454.html