“黑客”设置机器人为何要反复填写网络表单?

“黑客”设置机器人为何要反复填写网络表单?

有一点我不明白,我的一个网络应用程序有一个小表格,允许您输入您的姓名和电子邮件地址以“订阅”我维护的网站的用户列表。该网站流量很低,只对居住在一个非常小的城镇的极少数人有用……其他人对此不感兴趣。

然而,每天,有时甚至一天多次,有人(或机器人)在表格中输入虚构的姓名和可能是虚假的电子邮件地址。

此表单在我的网站上甚至不再处于活动状态,它恰好仍然作为孤立页面存在于我的 IIS 目录中(这告诉我有人正在通过 Google 搜索这些类型的表单,因为如果您通过默认页面进入,则没有指向此表单的路径。

这对我来说不算什么大麻烦,我可以用验证码解决这个问题,但我不明白的是,有人为什么要设置一个机器人来重复填写表格?我想肯定有原因,但我实在不知道为什么?

我错过了什么?

答案1

这些机器人会试图向您发送垃圾邮件,或者更糟的是,试图利用您的联系表单向其他人发送垃圾邮件。

例如,mail()如果您不小心处理来自表单的数据,那么联系表单常用的 PHP 命令就存在几个众所周知的漏洞,可能会导致您在代码中输入的 TO 地址被 POST 的数据覆盖。

防止这种情况的一些方法:

  1. 使用验证码。对于流量较低的网站,即使是静态验证码(每次都包含相同文本的图像)也能很好地发挥作用。

  2. 检查 HTTPreferrer以确保 POST 来自您的联系表单。不过,许多机器人会欺骗这一点,所以它没什么用。

  3. 使用隐藏的表单字段来尝试欺骗机器人。例如,phone_number在表单上创建一个字段,并使用样式表中的 CSS 将其隐藏(display:none)。机器人通常会填写该字段(它们通常会填写所有字段以避免可能的必填字段验证错误),但用户不会填写,因为它是隐藏的。因此,在 POST 时,您会检查该字段中的值,如果该字段中有值,则默默地无法发送消息。我发现这种方法本身就非常有效。

答案2

这些机器人会盲目地尝试找到的每种表单以发送垃圾邮件。其中一些表单可能拥有表单的历史数据,即使该表单目前未在搜索引擎中列出,这些机器人也可以将数据发布到该 URL。

假设某个网站包含一个 HTML 表单,用于向朋友发送推荐,通常是“告诉朋友”或“发送贺卡”,这些表单不受 CAPTCHA 图像保护。机器人可以使用该表单通过您的 SMTP 服务器发送数千封垃圾邮件。

如果机器人来自相同的 IP 地址,您可以在 IIS 或防火墙上阻止该地址。

答案3

如果他们能够以某种方式进入您的服务器并在您不知情的情况下在其中植入软件,那么这对他们来说就是一个额外的垃圾邮件机器人。

注册后,您距离接管服务器就更近了一步,因为您能够看到服务器上的更多文件。

另外,如果表单没有针对 XSS 和其他类似策略的保护,黑客攻击就更容易了。

答案4

垃圾评论是一个原因。例如,他们试图在博客评论中添加大量链接,以提高他们的页面排名。

相关内容