如何创建“核”蜜罐来捕获垃圾邮件发送者
Posted
技术标签:
【中文标题】如何创建“核”蜜罐来捕获垃圾邮件发送者【英文标题】:How to create a "Nuclear" honeypot to catch form spammers 【发布时间】:2014-12-14 16:07:39 【问题描述】:我当前注册表单上的蜜罐是一个电话号码条目,它使用position: fixed;
放置在屏幕外。
它欺骗了标准品种表格填充物,但效果不如我。另外,垃圾邮件程序会立即响应表单的更改,这意味着这是自动的,我该怎么办。
注意:我讨厌验证码,因为它们让用户解决我的问题,这从来都不是好事。
【问题讨论】:
【参考方案1】:构建真正智能的蜜罐
这似乎很明显,但这里有一些技巧(稍后会详细介绍):
-
像垃圾邮件机器人一样思考
假设他们能够知道屏幕上或其他元素后面的内容
有多个陷阱。
时间陷阱
蜜罐
1。像垃圾邮件机器人一样思考:
开始像垃圾邮件机器人一样浏览您的页面,您甚至可以编写自己的页面,这可以节省时间但很有趣:)。
大多数垃圾邮件机器人会爬过标记寻找<form>
元素。然后他们会查看您的输入并适当地填写它们,这就是问题所在:他们如何知道要填写什么。他们可能会查看 Id、类、占位符和标签。这将我们带到我们的第一个方法
方法#1:
表单代码中的标签输入错误。基本上你的用户名输入应该有#Form_Email
繁荣的ID!垃圾邮件机器人错误地填写表格。同时隐藏和错误标记您的输入标签,改用 div。*
方法#2从这里开始
你可能已经注意到,如果你只是忽略隐藏的东西,根据位置,它前面的东西,甚至是旧的display: none;
,visibility: hidden;
,opacity: 0;
或type='hidden'
。这给了我们一个强大的武器。我在测试时间陷阱时偶然发现了这一点。我使用了基本的表格填充器来填写表格。在我的网站上(我不是在谈论 GiantCowFilms.com),注册表位于一个对话框中,当用户单击注册按钮时该对话框会打开。默认情况下它是隐藏。这给了我一个想法
方法#2
默认:表单是隐藏的。基本上,您的表单在页面加载时是隐藏的,但会被一些基于鼠标的操作发现(我认为机器人没有鼠标)。如果您不希望您的表单在页面加载时可见,请在标记中添加一个相同的诱饵,该诱饵高于真实的诱饵。如果机器人填写并提交它,请阻止其 Ip 几分钟。**对于真正的用户,只需将鼠标悬停在诱饵形式上,即可切换它们。
2。假设他们知道您的页面是什么样的
假设用 CSS 隐藏蜜罐是完美的,这是一个严重的错误。他们有很多超级智能的屏幕阅读器,比如 JAWS,可以重新用于垃圾邮件。这就是为什么你有多道防线。
3。有多个陷阱
时间陷阱: 回到像机器人一样思考的问题,你不想在网站上等待而不是攻击别人吗? 方法#3:创建一个时间陷阱。 最好的方法是在页面加载时在隐藏的输入中打印时间。当您提交表单时,它会告诉您花费了多长时间。尽快填写表格。这应该是填写您的 for 的最短时间。注意: 加密您的时间戳,以便机器人无法更改它。 如果您不想花哨,请测量机器人打字的 WPM。这是在堆栈交换上完成的(尝试复制和粘贴然后提交和问题/答案)。此外,如果输入速度非常一致,那就是危险信号。 蜜罐(方法#4): 一次使用以上所有方法以获得最佳效果。确保欺骗愚蠢的机器人和聪明的机器人(不要假设机器人总是在努力。)。现在,为了向我们发送垃圾邮件,机器人必须有光标、渲染页面、等待、以可变的现实速度打字。如果他们制作了这样的机器人,那么我想这将是验证码时间:(。
*使用屏幕阅读器的人会触发这些防御措施或对此感到困惑,并且根据您所在的国家/地区,您可能会因歧视盲人和半盲人而遇到麻烦。因此,当用户触发 bot 测试时,将他们带到一个未加载的表单,其中包含对残障人士友好的验证码,例如 reCaptcha。
**人们经常分享Ips,你可以赶走有效用户。
附:使用你已经拥有的简单的蜜罐。有些机器人太笨了,不会被我们这里的东西欺骗。
【讨论】:
这是我见过的第一个推荐蜜罐陷阱的特殊技术的用户:即“错误标记”字段。我不知道为什么更多的人不推荐这个。它对我也很有效。我只是不认为垃圾邮件发送者足够聪明,无法找出这种不寻常的行为。优秀,优秀的答案,显示了一些有效的分析和真正的创造性思维。我肯定会从 GiantCow 那里偷一些东西。谢谢。 很棒的信息。我不 100% 同意的唯一一点是 WPM,我想我不同意它,因为密码管理器现在更常见,它们会自动填写字段(而且非常快)。其余的东西都很棒。您是否收集有关这方面的任何数据? 如果您在服务器端处理数据,请使用蜜罐陷阱,服务器端处理应该有效地将其减少到“0” 你没有提到单枪匹马捕获 99% 提交给我的电子邮件表单的垃圾邮件的技巧,这看起来有点像博客评论表单:不区分大小写将字符串列入黑名单</a>
、[/url]
和 [/link]
并显示一条人类可读的消息,要求用户切换到不带标记的 URL 并重新提交。
另外,如果这对您的业务有意义,请阻止外国加载您的网站,例如我们有一家区域性高级护理公司......这可以立即解决很多......当然有些人会使用***,但不要太多【参考方案2】:
多年来,我一直使用自己的“表单垃圾邮件陷阱”,该陷阱使用各种技术来阻止垃圾邮件机器人。最有效的是在短时间内隐藏字段(尤其是表单的“操作”)。由于机器人会抓取您的表单中的字段和“操作”页面,并使用该信息来“卷曲”您的表单数据,因此在这些区域中放置虚假信息将愚弄几乎所有垃圾邮件机器人。
在超时(基于 JS)之后,隐藏的值将替换为其实际值。到那时,垃圾邮件机器人已经转移到另一个目标上,使用虚假值将失败。
我已将整个过程开发成一个免费的解决方案,可在我的“Form Spammer Trap”网站https://www.FormSpammerTrap.com 上找到。该网站已经存在多年,并且那里的联系表格尚未成功“垃圾邮件”。 (欢迎各位机器人尝试。)
要在您的网站中实现,您需要添加一个“包含”和三个函数。并且您可以使用一些高级技术自定义表单。
对于那些对垃圾邮件机器人如何工作以及为什么隐藏字段等常见“技巧”不起作用感兴趣的人,请参阅此处:https://www.securitydawg.com/how-bots-spam-contact-forms/。
我的“FormSpammerTrap”解决方案是免费的(基于 php),可通过联系表格获得(只需选中复选框即可获取免费代码)。没有义务;我什至不保存你的电子邮件地址。
但它非常有效。恕我直言。
2020 年 6 月 21 日添加
“FormSpammerTrap”解决方案仍然存在,并且多年来进行了重大更新。最新版本允许对表单进行更多(和更轻松)的自定义,尽管基本使用只需要一个自定义条目。文档大大改进。
我正在开发版本 9,它将添加更多自定义。它应该会在几周内发布。
https://www.FormSpammerTrap.com 网站包含有关最新版本、其工作原理的完整详细信息,以及指向我撰写的有关垃圾邮件发送者如何工作(以及如何阻止他们)的博客文章的链接。
而且它仍然是免费的 - 只需填写网站上的联系表格并选中复选框并立即获取它,其中包含完整的文档和示例。这是完全保证或您的钱回来! (嗯,它是免费的......)
(感谢您的支持。)
【讨论】:
不知道为什么投反对票(包括反对票的原因总是有帮助的;帮助人们在这里做得更好......)。我使用(并免费提供)的解决方案如宣传的那样工作。您可以采用我使用的流程并将其转换为您自己的代码,但这些文件可以轻松集成到您的站点中。它已经工作了很多年。 (公开邀请垃圾邮件机器人尝试用他们的标准流程击败它。还没有发生。)所以没有解释的拒绝投票(在堆栈上的任何地方)对任何人都没有帮助。以上是关于如何创建“核”蜜罐来捕获垃圾邮件发送者的主要内容,如果未能解决你的问题,请参考以下文章
如何防止通过 PHP mail() 发送的邮件进入垃圾邮件? [复制]