使用过滤器绕过和一些十六进制,被黑的信用卡号码仍然,仍然可以谷歌
已发表: 2022-03-11关于信用卡黑客的一句话
如果你认识我,或者读过我之前的帖子,你就会知道我在加入 Toptal 之前曾在一家非常有趣的公司工作。 在这家公司,我们的支付提供商每天处理的交易量约为 50 万美元。 我的部分工作是使我们的供应商符合 PCI-DSS,即符合支付卡行业的数据安全标准。
可以肯定地说,这不适合胆小的人。 在这一点上,我对信用卡 (CC)、信用卡黑客和一般网络安全非常熟悉。 毕竟,我们的工作是保护用户的数据,防止其被黑客入侵、被盗或被滥用。
当我看到 Bennett Haselton 2007 年关于 Slashdot 的文章:为什么 CC 号码仍然那么容易找到? 简而言之,Haselton 能够通过 Google 找到信用卡号码,首先通过以“nnnn nnnn”格式搜索卡的前八位数字,然后使用基于号码范围的一些高级查询。 例如,他可以使用“4060000000000000..4060999999999999”从 CHASE(其卡均以 4060 开头)中查找所有 16 位主帐号 (PAN)。 顺便说一句:这里是发行人 ID 号的完整列表。
当时,我并没有多想,因为 Google 立即开始过滤 Bennett 使用的查询类型。 当你试图用谷歌搜索一个这样的范围时,谷歌会提供一个页面,上面写着“你是个坏人”。
大约六个月前,在与一位老朋友回忆时,这个信用卡号码黑客再次出现在脑海中。 不久之后,我发现了一些令人震惊的事情。 不是非常令人担忧,但肯定是令人担忧的——所以我通知了谷歌,然后等待。 一个月没有回应,我再次通知他们无济于事。
对 Haselton 的旧把戏稍加调整后,我就可以在 Google 上搜索信用卡号、社会保险号和任何其他感兴趣的敏感信息。
贝内特
昨天,我的一些朋友(buhera.blog.hu 和 _2501)带来了一篇更新的 Slashdot 帖子引起了我的注意:信用卡号码仍然可以在 Google 中使用。
这篇文章的作者,同样是 Bennett Haselton,他在 2007 年写了原始文章,声称信用卡号码仍然可以被谷歌搜索。 您不能使用数字范围查询技巧,但它仍然可以完成。 您需要对查询应用特定格式,而不是使用简单范围。 类似于:“1234 5678”(注意中间的空格)。 这个查询有很多命中,但真正感兴趣的却很少。 参赛者中有电话号码、邮政编码等。 不是特别令人震惊。 但这里出现了信用卡黑客转折。
方法论
我很好奇是否仍然可以像 2007 年那样在网上获取信用卡号码。作为任何优秀的工程师,我通常会使用需要以最精确的方式完美执行的正确解释和智能计划来处理事情。 如果您尝试过这种方法,您可能会知道它可能会失败——在这种情况下,您的精心计划和努力将付诸东流。
在 IT 领域,我们有一种过度知识化的倾向,即使它并不完全有必要。 我看到我的朋友和同事使用看似随机的输入完全破坏了应用程序。 他们的成功率惊人,他们为此付出的努力接近于零。 那时我才知道要打开一扇门,有时你只需要敲门。
信用卡黑客
上一段巧妙地变相试图让我在炫耀我的“精英黑客技能”时看起来不像个白痴。 哎呀。
首先,我尝试了几种基于范围查询的方法。 然后,我查看了高级查询以及您在一个小时左右可能想出的几乎所有内容。 它们都没有产生显着的结果。
然后我有了一个疯狂的想法。
如果过滤引擎和实际后端不匹配怎么办? 如果我从 Google 收到的消息(“你是个坏人”)不是来自后端本身,而是来自 Google 为审查像我这样的查询而实施的指定过滤引擎怎么办?
从架构的角度来看,这很有意义。 像这样的错误非常普遍——我们一直在 ITSEC 中看到它们,尤其是在 IDS/IPS 解决方案中,而且在常见的软件中也是如此。 有一个过滤程序可以处理数据,并且只有在它认为数据是可接受/非恶意的情况下才将其提供给后端。 但是,后端和过滤服务器几乎从不以完全相同的方式解析输入。 因此,看似有效的输入可以通过过滤器并在后端造成严重破坏,从而有效地绕过过滤器。
您通常可以通过以各种编码提供输入来触发此类行为。 例如:不使用十进制数字 (0-9),如何将它们转换为十六进制、八进制或二进制? 好吧,你猜怎么着……
搜索这个,谷歌会告诉你你是个坏人:“4060000000000000..4060999999999999”

搜索此内容,Google 将很乐意提供:“0xe6c8c69c9c000..0xe6d753e6ecfff”。
您唯一需要做的就是将信用卡号码从十进制转换为十六进制。 而已。
结果包括……
- 充满潜在敏感信息的巨大 CSV 文件。
- 错误的电子商务日志文件。
- 在黑客网站(甚至 Facebook)上共享的敏感信息。
这真是可怕的东西。
我知道这个错误不会激发任何安全研究,但你已经知道了。 谷歌制造了这个嘘声,甚至没有给我回信。 嗯,它发生了。 不过,我并不羡慕大 G 的安保人员。 他们一定有很多东西需要注意。 我在这里发布有关此信用卡号黑客攻击的信息,因为:
- 它的影响相对较小。
- 任何有兴趣和有动力的人现在都会明白这一点。
- 引用 Haselton 的话,如果大玩家不承担责任并对这些漏洞采取行动,那么“正确的做法是阐明问题并坚持尽快解决问题”。
此技巧可用于查找电话号码、SSN、TFN 等。 而且,正如 Bennett 所写,这些数字比您的信用卡更难更改,您只需致电银行并取消信用卡即可。
示例查询
警告:不要用谷歌搜索你自己的信用卡号!
寻找任何以 4060 开头的 CC PAN: 4060000000000000..4060999999999999 ? 0xe6c8c69c9c000..0xe6d753e6ecfff
来自提供商“Telenor”的一些匈牙利电话号码? 没问题: 36200000000..36209999999 ? 0x86db02a00..0x86e48c07f
寻找 SSN。 幸运的是,这些并没有返回很多有意义的结果: 100000000..999999999 ? 0x5f5e100..0x3b9ac9ff
还有很多很多。
如果您发现任何非常令人担忧的事情,或者如果您对信用卡黑客行为感到好奇,请将其留在评论中或通过电子邮件 [email protected] 或 Twitter 上的@synsecblog 与我联系。 在这些情况下,报警通常是徒劳的,但可能值得一试。 给定的商家或卡提供商通常更热衷于解决问题。
从这往哪儿走
好吧,谷歌显然必须解决这个问题,可能需要像 Visa 和 Mastercard 这样的大玩家的帮助。 事实上,Haselton 在上面链接的两篇文章中提供了许多有趣的建议。
但是,您需要做的(以及我写这篇文章的原因)是传播信息。 信用卡欺诈是一个大行业,简单的认识可以使您免于成为受害者。 此外,如果您有电子商务网站或处理任何信用卡处理,请确保您是安全的。 PCI-DSS 是一个很好的指南,但远非完美。 另外,使用“site:mysite.com”高级查询来谷歌你的网站总是一个好主意,寻找敏感数字。 你找到任何东西的机会非常非常渺茫——但如果你找到了,你必须立即采取行动。
此外,还有一点友好的建议:您永远不应该将您的信用卡信息透露给任何人。 我的建议是尽可能使用 PayPal 或类似服务。 您可以查看这些链接以获取更多信息:
- Visa的信用卡安全提示
- 花旗的信用卡安全提示
还有一些一般提示:不要下载你没有要求的东西,不要打开垃圾邮件,并记住你的银行永远不会要求你输入密码。
顺便说一句:如果您认为没有人愚蠢到会因这些信用卡黑客技术而堕落或在互联网上泄露他们的信用卡信息,请查看@NeedADebitCard。
保持安全的人!