扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共3页)
发现漏洞
第一次攻击的开始时间为4月9日下午5:07,攻击者的IP地址为 115.134.249.15,来自马来西亚的吉隆坡,该日志条目证实了认为攻击来自马来西亚的在线报告。我们还注意到,攻击者用以探测 Web 网站SQL 注入缺陷的是White hats设计的渗透工具的一个修改版;相关的日志条目报告显示,负责此次攻击的黑客团队频繁进入White hat在线社区。我们在Web 服务器日志上也发现了相似的条目。这些日志条目还让我们跟踪到攻击者尝试了哪些攻击以及在我们的后台系统上成功进行了哪些攻击。
ex11041000.log:2011-04-10 00:17:18 GET /ns/customers/customer_verticals.php v=11 80 - 115.134.249.155 Mozilla/4.0+(compatible;+MSIE+7.0;+W
ex11041000.log:2011-04-10 00:17:20 GET /ns/customers/customer_verticals.php v=-9.9 80 - 115.134.249.155 Mozilla/4.0+(compatible;+MSIE+7.0;+
ex11041000.log:2011-04-10 00:17:22 GET /ns/customers/customer_verticals.php v=11%20and%201=1 80 - 115.134.249.155 Mozilla/4.0+(compatibl
ex11041000.log:2011-04-10 00:17:24 GET /ns/customers/customer_verticals.php v=11%20and%201=0 80 - 115.134.249.155 Mozilla/4.0+(compatibl
ex11041000.log:2011-04-10 00:17:25 GET /ns/customers/customer_verticals.php v=11’%20and%20’x’=’x 80 - 115.134.249.155 Mozilla/4.0+(compati
注:Web 日志使用的是格林威治标准时间(GMT),而 Web 应用防火墙使用的是太平洋夏令时(PDT)
我们现在知道,第一个攻击者使用自动工具逐步遍历网站,并对每个允许输入的参数项注入一系列 SQL 命令,查找可能的漏洞。SQL 注入工具于下午 5:16 找到了第一个漏洞,但没有继续深入该网页;下午 8:10,IP地址为 87.106.220.57 的第二个客户端加入了攻击行列。经追踪发现,第二个IP地址的服务器在德国,但尚不清楚该服务器是一个代理,还是第二个攻击者。梭子鱼WAF同样记录下了来自第二个IP地址的活动。
以下是相应的 Web 服务器日志:
2011-04-10 03:14:11 GET /ns/customers/customer_verticals.php v=12”%20UNION%20ALL%20SELECT%20null,null,null,null,null,null,null,null,null,null,
2011-04-10 03:14:11 GET /ns/customers/customer_verticals.php v=11”%20and%20ascii(substring((SELECT%20distinct%20schema_name%20from%
2011-04-10 03:14:12 GET /ns/customers/customer_verticals.php v=12”%20and(select%201%20from(select%20count(*),concat((select%20(select%2
2011-04-10 03:14:12 GET /ns/customers/customer_verticals.php v=12”%20and(select%201%20from(select%20count(*),concat((select%20(select%2
2011-04-10 03:14:14 GET /ns/customers/customer_verticals.php v=11”%20and%20ascii(substring((SELECT%20distinct%20schema_name%20from%
2011-04-10 03:14:14 GET /ns/customers/customer_verticals.php v=12”%20and%20Length((database()))<32%20and%20”x”=”x 80 - 87.106.220.57 M
2011-04-10 03:14:15 GET /ns/customers/customer_verticals.php v=12”%20and%20Length((database()))<16%20and%20”x”=”x 80 - 87.106.220.57 M
注:Web 日志使用的是格林威治标准时间(GMT),而 Web 应用防火墙使用的是太平洋夏令时(PDT)
从梭子鱼Web应用防火墙的日志发现,攻击者似乎利用了第二个客户端对已发现的漏洞进行了手动攻击,而主要攻击仍然集中在继续对Web 站点进行扫描,以获取其它漏洞。最终,攻击者们集中力量攻击非主页的一个WEB 页面上的一行弱代码,其输入参数并未进行控制审查。以下是那段代码:
=Foo_Function( $_GET[‘parameter’] )?> //获得用户输入
因未对输入值进行限定,该代码错误让攻击者们得以向 HTML的输入参数进行注入 SQL 命令来攻击后台数据库。
网站开发者们被告知绝对不要信任用户的输入;所有的用户输入在发送到后台服务器之前必须进行审查。然而,通过上述案例,你可以发现仅仅用眼睛很难发现所有的代码错误。这就是为什么除了必要的防范性代码设计以外,梭子鱼公司还使用漏洞扫描工具和Web应用防火墙设备来为可能的缺陷提供保护。由于自动式扫描攻击的存在,在一个含有成千上万条代码的 Web 站点中,只要有一个简单的错误就能让攻击得逞。我们添加了一条代码,对受影响的页面上的输入进行限定审查,以保护未来的可能攻击。
$parameter = @is_sanitized($_GET[‘parameter’]) ? $_GET[‘ parameter ‘] : 0;
<?=Foo_Function( $parameter)?>=Foo_Function( $parameter)?>
从漏洞到数据泄露
攻击者们发现了存在漏洞的页面后,就企图窃取数据库用户账号。在接下来的 10个小时里,攻击者们尝试了数种方法来强行闯入后台数据库,但是每次都以失败告终。上午3:06,攻击者们改变了策略,集中攻击后台数据库Schema。事实证明,这是个有效的决定。到 3:19am,攻击者们已经窃取了第一批电子邮箱账号。
网站管理员在10:30am 发现网站被攻击,并于10:39am将梭子鱼Web应用防火墙切换到ACTIVE模式开启保护,阻止了来自 IP 地址为 115.134.249.15 的所有后续攻击。接下来的数小时里,攻击者们继续对剩下的 Web 页面进行定时攻击,从梭子鱼Web应用防火墙设备将所有这些攻击拒之门外。从攻击文件证实了我们的结论,即:攻击者们使用了一种自动扫描渗透工具,大范围地注入 SQL 命令。最终,攻击者们从两个攻击IP地址总共对 175 个URL 发送了 110,892 个 SQL 注入式命令,其频率为每分钟 42次。
我们在追踪梭子鱼Web应用防火墙上的防火墙日志和访问日志时,确定攻击者们窃取了市场部数据库中的两套记录,包含 21,861 个用户名和电子邮件记录。因为这两套记录还存在副本,并且当中有许多用户已离开原先的公司,所以受影响的用户数比被窃取记录的总数要小得多。
任何数据泄露都是严重的问题。尽管实施这次攻击的黑客们似乎并无恶意,但是类似的泄漏数据,可能被用来对受影响的用户进行钓鱼攻击。
结论
无论是从事前还是事后的角度来分析,这次攻击更像是一次攻防演练;通过这次事件,我们更确信,梭子鱼Web应用防火墙设备能够为网站提供对包括SQL注入在内的各种攻击的防护。虽然网页中包含PHP代码漏洞,但只要开启梭子鱼Web应用防火墙的防护功能,所有的攻击都在几秒钟内都被阻止。而且,梭子鱼Web应用防火墙的日志和报告提供了完整的攻击记录以及失窃数据的记录,从而为分析和研究Web应用安全提供了一个很好的案例。为了保障网站的安全,在编写高质量的代码和进行漏洞测试的同时,梭子鱼Web应用防火墙设备应该成为防御应用层攻击的第一道防线。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者