跳转至

Perl | CGI 中的安全问题

原文:https://www.geeksforgeeks.org/perl-security-issues-in-cgi/

在深入探讨 CGIPerl 的安全问题之前,让我们先了解一下 Perl 是什么。Perl 代表 实用抽取和报告语言 。它是由拉里·沃尔于 1987 年建造的。这是一种聪明的面向对象语言,因为它也从 C 和 BASIC 中获得了一些有用的特性。这种编程语言曾经是网络编程的大师,因为它的功能不同于其他语言。 CGI(公共网关接口)是 web 编程语言用来动态分配网页的。

对客户端的影响

一旦我们做了一个网站,我们就很想在网上发布它,向世界展示我们的成就,年轻的头脑想把它放在他们的简历中,想向公司展示他们的能力。但是互联网虽然给了我们曝光的机会,但也让我们暴露在黑客和臭名昭著的用户的网络世界中。 当我们谈论 CGI 时,我们不能不谈论其他语言,如 C、C++、BASIC 等。C 不擅长字符串执行,许多 C 用户为输入定义了一个大字符串,但这很危险,因为空格(溢出)会导致未经授权的访问。 Perl 在一个步骤中执行和编译,这为输入来自受委托用户的危险数据提供了可能。在 C 和 BASIC 中比在 CGI 中更好地使用脚本会更安全。与用户互动是 CGI 最好和最差的特点。一些用户违反了脚本的规则,而另一些用户可能是不受欢迎的用户,他们使用您的网页只是为了黑客攻击。 我们应该警惕谁在使用我们的页面,并跟踪每个使用我们页面的用户。

某些形式的攻击

很有可能当你在使用 CGI 的时候,其他用户正在使用其他的东西并在使用它。这导致我们进行内部攻击,另一个用户也可以对您的脚本表现出不必要的关注,这可能会导致利用安全性。 Setuid 是 CGI 的一个特性,它让拥有脚本的用户而不是构建程序的用户获得运行程序的权限。这可能会导致一个问题,这使得整个过程变得繁琐,因为它要求所有者给予许可,也可能所有者不知道他的开发人员正在进行一些更改。 也有人可以通过运行自己编写的外部程序来忽悠我们,而不是你在 CGI 里指定的那个。同样,用户输入导致了大多数安全问题。

安全 CGI 脚本指南

既然我们已经讨论了 CGI 中的安全漏洞,我们也应该知道一些好的做法,这些做法有助于我们制作一个安全的 CGI 脚本,并在有许多用户使用该网站的情况下保持安全性。 先说基本的事情首先,让你的整个电脑/系统安全会让你的网站几乎安全,所以要确保你正在使用的电脑是安全的,并且安装了良好的杀毒软件。 创建文件时,您应该记下您授予它的权限。有权访问本地目录的用户可以不正当地利用不需要的权限。 互联网上提供的预编译程序是一个很大的障碍。它们被发现充满了隐藏的病毒,并且一旦它们在你的计算机上运行,就可能访问你的文件。 我们应该检查并理解从互联网上获取的所有代码/程序,因为它们可能包含从安全漏洞到特洛伊木马的任何内容。这些错误的程序经常利用 CGI 脚本中的业余爱好者和初学者。

因此,如上所述,CGI 中安全问题的基础是用户输入。这些用户可以来自互联网,也可以来自您自己的内部网络。因此,人们应该始终关注如何以及何时授予权限,以及将权限授予谁。



回到顶部