黑客最喜欢的脚本之一perl,让你拥有无限可能
要更进一步提高自己,您必须学习脚本技能。使用其他黑客的工具固然很好,但要获得并保持优势,您必须开发自己独特的工具,通过开发脚本技能来做到这一点。
Perl的历史
在Linux环境中使用最广泛的脚本语言可能是Perl,Perl由语言学家LarryWall于年开发。他专门设计了它来操作文本。Wall对设计一种脚本语言很感兴趣,该语言能够从多个来源提取文本以生成报告——我们现在认为这个比较正常——在当时是非常不简单的。
为什么Perl在Linux中如此重要
由于Linux中的几乎所有内容都是一个文件,而且其中有许多简单的文本文件,因此Perl已被证明在Linux环境中特别有用。此外,Perl使我们能够在脚本中使用shell脚本命令,这使得它对于编写既需要shell命令又需要文本操作的脚本黑客任务非常有用,例如网站侦测和黑客攻击。Perl也是有用的正则表达式或正则表达式的来源,它已进入许多黑客、安全和Linux应用程序。这些正则表达式为我们提供了在Snort、MySQL、OracleDBMS等众多应用程序中查找文本模式的强大功能。正则表达式最初是为Perl开发的,在某些情况下被称为PerlCompatibleRegularExpressions,或PCRE。系统上的Perl由于Perl在Linux中的应用如此广泛,每个Linux发行版都带有Perl解释器,Kali也不例外。如果你运行的是Windows,你可以在这里下载Perl解释器。Perl已被用于开发许多黑客工具,包括nikto、oneixtyone、snmpenum、、adminfinder等等。Perl还因其能够用于将SQL脚本从Web应用程序发送到后端数据库而受到青睐(亚马逊的网站为此目的使用它)。如果我们想在Kali中查找所有Perl脚本,我们可以输入:
·kalilocate*.pl
我们可以看到在Kali中有数百个用于多种用途的Perl脚本。请注意,在上面的屏幕截图中,有多少exploit-dbwindows远程利用是用Perl编写的。这只是冰山一角,表明Perl脚本在黑客攻击和通用Linux管理中的重要性。
Perl非常重要,在我们使用Perl、Python和Ruby开发自己的黑客工具/脚本的过程中,我将完成至少三个Perl教程。
所以,让我们开始Perl-ing!
第1步:创建脚本
您可以在安装了Perl解释器和任何文本编辑器(包括vim、emacs、kate、gedit等)的任何平台上开发您的Perl脚本。这里我们将使用Kali内置的文本编辑器Leafpad来开发一个简单的Perl脚本。随着我们变得越来越先进,我们将希望添加一个IDE环境,该环境可以使脚本开发和调试变得更加简单和高效。
让我们通过转到Applications-Accessories然后Leafpad打开Leafpad。
在Leafpad打开的情况下,让我们输入以下内容:
usr/bin/perl
print"Hackers-Arise!\n";
第一行简单地告诉系统使用哪个解释器来运行后面的代码。第一段,“#!”通常被称为“shebang”。在我们的例子中,我们希望这个代码被Perl解释器解释,所以我们在shebang后面加上“/usr/bin/perl”。这是Perl解释器的位置。
第二行是一个简单的打印语句。我们希望系统打印“HelloHackers-Arise!”。我们以终止该行的特殊字符“\n”结束。
现在让我们保存它并称它为“firstperlscript”。
第2步:设置权限
让我们导航到我们保存它的目录并输入:
·kalils–l
我们的脚本已保存为默认权限。为了能够执行此脚本,我们将需要“执行”权限,因此我们需要将权限更改为,
·kalichmodfirstperlscript
第3步:执行脚本
现在我们有了执行权限,我们可以通过键入以下命令来运行这个脚本:
./firstperlscript
如您所见,它打印了“HelloHackers_Arise!”
第4步:Perl中的特殊字符
Perl有许多我们可以使用的特殊字符。我们使用了“\n”,它是一个换行符。Perl的其他一些特殊字符是:
\0xx-八进制值为xx的ASCII字符
\e-一个转义字符
\n-换行符
\r-返回字符
\t-一个制表符
还有更多,但这只是Perl中许多特殊字符的一个示例。我们将在后续Perl教程中根据需要介绍更多内容。
第5步:Perl中的变量
在执行了一个非常简单的Perl脚本之后,让我们添加一些功能和复杂性。通常,在运行任何脚本时,我们都需要一些变量来保存信息。Perl中的变量与Linux中的指定类似,在变量标签前使用“”,例如name。
让我们在文本编辑器中输入以下代码。
现在,让我们逐行检查这个简单的脚本。
第一行告诉系统在执行这个脚本时使用哪个解释器。
第二行只是打印语句。
第三行打印一个问题,询问用户他们最喜欢的网站是什么。
第四行将STDIN(从键盘输入)放入一个名为name的变量中。
第五行对变量name使用chomp函数。此功能将删除用户在回答我们的问题时可能输入的任何潜在的换行符。
最后,第六行打印我们的响应,其中包含来自变量name的用户输入。
第6步:执行脚本
现在,让我们将此脚本保存为secondperlscript并将其权限从更改为,以便我们执行它。最后,让我们输入以下命令来执行它:
kali./secondperlscript
成功!我们能够将用户输入捕获到变量name中,然后在网站Hackers-Arise!的打印语句中使用该输入。
第7步:Perl中的Shell命令
使用Perl的优点之一是它允许我们直接从脚本到底层系统使用shell命令。有多种方法可以做到这一点,但我更喜欢使用带括号和双引号括起来的shell命令的系统函数(我们将在后续的Perl教程中介绍其他方法)。
为了演示这一点,让我们将以下行添加到我们的脚本中系统(“ifconfig”);
现在让我们将它保存为thirdperlscript并授予我们执行它的权限。
第8步:执行脚本
当脚本运行时,它的作用与我们的secondperlscript相同,但它也直接与操作系统交互以获取用户系统上的IP地址和其他网络信息。
想象一下能力可以为我们做什么!可以无限放大。