perl - Perl CGI 程序是否存在 HTML 联系表单的缓冲区溢出或脚本漏洞?

标签 perl security post formmail

我的托管公司表示,当与 Apache/HTTP POST 一起使用到 CGI-Bin Perl 脚本(例如 NMS FormMail )时,可以用适量的垃圾字节填充 HTML 表单文本输入字段以导致缓冲区溢出/资源问题.

他们说发生核心转储时,可以在服务器上运行任意脚本(存储为输入字段文本的一部分),这可能会危害站点。他们说这不是他们可以在他们的 Apache/Perl 配置中防止的事情——这取决于 Perl 脚本通过限制发布字段中的字符数来防止这种情况。但似乎核心转储可能会在脚本限制字段大小之前发生。

这种类型的联系表格和方法被数以千计的网站广泛使用,所以我想知道他们所说的是否属实。你们那里的安全专家能否启发我——这是真的吗?我也想知道 PHP 脚本是否会发生同样的事情。对于安全的站点联系脚本/方法,您有什么建议?

最佳答案

我不确定缓冲区溢出,但无论如何限制 POST 大小不会有什么坏处。只需在脚本顶部添加以下内容:

use CGI qw/:standard/;
$CGI::POST_MAX=1024 * 100;  # max 100K posts
$CGI::DISABLE_UPLOADS = 1;  # no uploads 

关于perl - Perl CGI 程序是否存在 HTML 联系表单的缓冲区溢出或脚本漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/830472/

相关文章:

web-services - 服务是否应在每次请求时要求提供凭据?

iphone - 使用 native 共享对话框发布到 Facebook 时出现 IOS 错误 - UICGColorencodeWithCoder

javascript - 输入上的 v-model 返回输入元素而不是值

Perl:在引号中使用变量的语法

java - java中的内存文件zip

python - 在 apparmor 配置文件下加载 Django 应用程序的设置

ruby-on-rails - Stripe 托管帐户 - 错误的国家/地区

ajax - jQuery.ajax POST 请求转换为 GET

perl - 对哈希值的数组引用进行排序

regex - 尝试在 Perl 中匹配两个都包含特殊字符的变量