小心你的WEB应用程序成为数据窃贼的帮凶 |
发布时间: 2012/6/11 19:27:05 |
当心,你以为固若金汤的数据库可能已遭到了入侵。你需要重新思考一下自己公司的网站是否真得不会遭到SQL注入攻击。SQL注入是最流行也是最危险的Web应用程序漏洞利用技术,它可以攻击存储着珍贵企业信息的后端数据库,且“简约高效”。
本文将阐述攻击者如何通过这种方法来利用Web应用程序的漏洞。有时,即使攻击者也不了解自己正在利用的漏洞的性质。 何为SQL注入 就其最基本的意义来说,SQL注入只不过是操纵一个已有的SQL查询,执行一个并非开发人员意图的动作。这种动作通常是通过Web应用程序的用户界面完成的。 但这种攻击是如何进行的?它为什么屡屡得逞? Web应用程序和数据库之间的正常交互 所有的SQL注入漏洞都是由某些未经验证的用户输入开始的。用户输入可以采取多种形式,它可以包括一个攻击者操纵的由亿恩科技服务器处理的任何东西,例如:用户代理、HTTP报头、POST参数、cookies、GET参数,甚至网址标头等。是什么令未经验证的用户输入如此特殊呢?答案是:应用程序并没有对其进行充分的检查,从而不能确保所收到的输入就是所期望的类型和方式。例如,虽然你的应用程序的编制目的是为了接收可以包括字母、数字的字符串作为用户名,但此程序并没有验证输入,从而使得黑客可以插入SQL注入的数据库查询: 比如,一个典型的网站会要求你的用户名,并希望这个结果是“Zhangsan”: Wangzhan.com/usertetail.asp?username=Zhangsan 在这个例子中,有可能会发生这样的情况:某个查询促使网站在后台与数据库交互,从而获取关于用户(如,Zhangsan)的信息: SELECT uname,fname,lname,phone,street,city,state,zip FROM users WHERE user =$var_username 当Web应用程序代码处理这个请求时,为了完成查询,来自用户名的值(Zhangsan)被传递给$var_username。亿恩科技服务器应当将SQL查询的结果变成标准格式,并显示此结果以便于用户查看Zhangsan的细节。 本文出自:亿恩科技【www.enkj.com】 |