SQL注入攻击是大部分负责面向互联网站点的DBA最头疼的问题。一个面向公众的页面,管理员无法对输入进行控制,那么最终的结果,很可能是产生一个垃圾数据库。 我不是在毫无根据地危言耸听,因为我曾经历过几次这样的灾难。 我按自己的方式做,每天对所有东西备份,这样的习惯让我受益匪浅。
但是只需这样一件事情就足以说服我:我需要在管理方式,甚至是来自web的最琐碎的页面处理输入方面做得更好。 我曾经用过一个用来判断给定网站在SQL注入攻击方面的脆弱性的工具,它就是sqlmap。它是一个开源的命令行工具,可以检测到针对很多种数据库系统(包括微软的SQL Server)的注入攻击。它是用Python……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
SQL注入攻击是大部分负责面向互联网站点的DBA最头疼的问题。一个面向公众的页面,管理员无法对输入进行控制,那么最终的结果,很可能是产生一个垃圾数据库。
我不是在毫无根据地危言耸听,因为我曾经历过几次这样的灾难。
我按自己的方式做,每天对所有东西备份,这样的习惯让我受益匪浅。但是只需这样一件事情就足以说服我:我需要在管理方式,甚至是来自web的最琐碎的页面处理输入方面做得更好。
我曾经用过一个用来判断给定网站在SQL注入攻击方面的脆弱性的工具,它就是sqlmap。它是一个开源的命令行工具,可以检测到针对很多种数据库系统(包括微软的SQL Server)的注入攻击。它是用Python编写的,因此它可以运行在支持Python的任何平台上,但是Windows用户可以下载自带的可执行程序,不需要对Python完全安装就可以运行。
运行sqlmap需要你给它提供至少一个参数,这个参数就是你希望测试是否存在sql注入漏洞的URL。这个URL至少要带有一个参数;除此以外,你还可以测试支持手工输入的GET/POST参数,HTTP cookie或者用户代理字符串。可用的选择范围很广,因此要明确知道你可以测试什么以及如何测试,通读文档可能是个好主意。
注意:例如,由于许多页面流程用户代理字符串要进行判断,不管它是否加载网站的低带宽版本,所以用户代理本身已经变成了一种攻击方向。
而且,最基本的利用sqlmap程序的方式是传递给它一个URL,其中带上一些参数。这样一来,sqlmap会尝试利用这些参数的每一个作为一个攻击向量,利用各种注入技术做尝试。然后,它会把每个参数的尝试结果返回报告,前缀是“【警告】”的状态行。报告结果会非常详细,因此你可以利用参数“-v”切换对结果详细程度的控制(使用“-v 0”表示报告内容最少)。它还可以针对以文件形式提供的URL列表,或者甚至是通过谷歌搜索你的网站无意中发现的漏洞暴露的“Google dork”页面进行测试。
Sqlmap最出色的特性之一是基于你采用的数据库类型和宿主操作系统类型手工定制测试。例如,在SQL Server中,有测试来检查是否底层系统能执行任意shell代码,能操作Window注册表配置单元安装,添加或者删除。所有这些攻击都是已经有概念验证代码或者一些已经出现过的非常规攻击类型,可见我们不是在谈论假想的事情。
Sqlmap项目已经被发布为GPLv2项目,因此你可以免费对它进行再发布,或者在授权许可的范围内自行修改它。
作者
Serdar Yegulalp从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。
翻译
相关推荐
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
DBA必须掌握的数据库恢复管理技术
如果没有备份副本,数据库管理员就无法还原数据库,所以DBA在恢复之前倾向于考虑备份是合乎逻辑的。 但是,对我来说,这种逻辑一直是错误的。
-
DBA也要和领导抢饭碗?
数据库架构师Ziaul Mannan 认为,DBA有成为高管的潜在可能,而这种潜力在过去往往被忽视,他还将证明DBA技能到领导力的转变是可行的。
-
Oracle备份和恢复简史
这些年来,Oracle数据库备份和恢复方式已经发生了重大变化,特别是在Recovery Manager(RMAN)功能有了进一步改善之后。