我的托管公司表示,当与 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/