本文是从 How I Hacked a Bank and Made 40 Bucks 这篇文章翻译而来。
“你们的活做的的很差。这上面说发现了几个“严重”安全问题。怎么能会这样。我们是家银行呀!”John说——他是一家本地银行里负责安全的官员。我曾建议他扫描一下银行的网站,看有没有漏洞,以防万一,他扫描完后把我找来讨论报告里发现的问题。
我告诉他,如果报告里说的是实情,那我就退还收取的费用,不过这事情确实值得研究一下。我不在电脑旁,不能马上检查是什么原因。我要求他给我权利让我进行深入的查看,并要求他给我书面的授权。他同意了。
事实证明,扫描报告是正确的:在他们的网站上确实有个严重的漏洞:一个SQL注入漏洞。问题出在一个日历程序上,那是他们以每小时9美元的价格从印度雇用的程序员开发的。这个日历跟网站使用了同一个数据库,但是在不同的schema下,用不同的用户名和密码,他们以为这样很安全。他们的一些用户的信息和加密后的口令都存在这个服务器上。一些小公司里的安全漏洞多的就如瑞士奶酪一样 —只是他们意识不到。没有人会想到自己能成为攻击的目标,直到事情发生后才醒悟。他们就是聪明的黑客最喜欢的目标。
数据库的版本很老,没有打过补丁,有一个已知的能导致SQL注入的漏洞,入侵者能通过它获取服务器上root的权限。我没有继续探究,我只是利用这个漏洞进入后,导出了一些主表,用邮件发给了他,让他知道,在几个小时内,我就能弄出他的银行账户信息和加密密码。
我对这个事情很感兴趣,一直密切关注他们的网站,但漏洞没有被修复,2个月后还是如此。最后,他们决定把整个日历程序删除掉,这样算是把漏洞补住了—他们没有开发团队,找不出有能力写出没有安全问题的代码的人。他们必须给CEO一个答复。这是一个拥有10亿美元资产的银行。10亿美元。
这样修改后,John希望再做一次扫描。出于好奇,我问他,让顾问做这样重复的工作,你愿意付多少钱?“1万美元,也许更多。”
到后来,我每次扫描只收40美元,但其实收的更少(我喜欢这个客户,希望他们的网站安全)。
今天已经变成只收7美元了。