百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

黑客最喜欢的脚本之一Perl,让你拥有无限可能

yuyutoo 2025-01-08 18:25 5 浏览 0 评论

黑客最喜欢的脚本之一perl,让你拥有无限可能

要更进一步提高自己,您必须学习脚本技能。使用其他黑客的工具固然很好,但要获得并保持优势,您必须开发自己独特的工具,通过开发脚本技能来做到这一点。

Perl 的历史

在 Linux 环境中使用最广泛的脚本语言可能是 Perl, Perl 由语言学家 Larry Wall 于 1987 年开发。他专门设计了它来操作文本。Wall 对设计一种脚本语言很感兴趣,该语言能够从多个来源提取文本以生成报告——我们现在认为这个比较正常——在当时是非常不简单的。


为什么 Perl 在 Linux 中如此重要

  1. 由于 Linux 中的几乎所有内容都是一个文件,而且其中有许多简单的文本文件,因此 Perl 已被证明在 Linux 环境中特别有用。此外,Perl 使我们能够在脚本中使用 shell 脚本命令,这使得它对于编写既需要 shell 命令又需要文本操作的脚本黑客任务非常有用,例如网站侦测和黑客攻击。
  2. Perl 也是有用的正则表达式或正则表达式的来源,它已进入许多黑客、安全和 Linux 应用程序。这些正则表达式为我们提供了在 Snort、MySQL、Oracle DBMS 等众多应用程序中查找文本模式的强大功能。正则表达式最初是为 Perl 开发的,在某些情况下被称为 Perl Compatible Regular Expressions,或 PCRE。
  3. 系统上的 Perl由于 Perl 在 Linux 中的应用如此广泛,每个 Linux 发行版都带有 Perl 解释器,Kali 也不例外。如果你运行的是 Windows,你可以在这里下载 Perl 解释器。
  4. Perl 已被用于开发许多黑客工具,包括 nikto、oneixtyone、snmpenum、、adminfinder 等等。Perl 还因其能够用于将 SQL 脚本从 Web 应用程序发送到后端数据库而受到青睐(亚马逊的网站为此目的使用它)。

如果我们想在 Kali 中查找所有 Perl 脚本,我们可以输入:

·kali > locate *.pl

我们可以看到在 Kali 中有数百个用于多种用途的 Perl 脚本。请注意,在上面的屏幕图中,有多少exploit-db windows 远程利用是用 Perl 编写的。这只是冰山一角,表明 Perl 脚本在黑客攻击和通用 Linux 管理中的重要性。

Perl 非常重要,在我们使用 Perl、Python 和 Ruby 开发自己的黑客工具/脚本的过程中,我将完成至少三个 Perl 教程。

所以,让我们开始 Perl-ing

第 1 步:创建脚本

您可以在安装了 Perl 解释器和任何文本编辑器(包括 vim、emacskategedit 等)的任何平台上开发您的 Perl 脚本。这里我们将使用 Kali 内置的文本编辑器 Leafpad 来开发一个简单的 Perl 脚本。随着我们变得越来越先进,我们将希望添加一个 IDE 环境,该环境可以使脚本开发和调试变得更加简单和高效。

让我们通过转到 Applications ->Accessories 然后 Leafpad 打开 Leafpad

Leafpad 打开的情况下,让我们输入以下内容:

usr/bin/perl

print "Hackers-Arise!\n" ;

第一行简单地告诉系统使用哪个解释器来运行后面的代码。第一段,“#!” 通常被称为“shebang”。在我们的例子中,我们希望这个代码被 Perl 解释器解释,所以我们在 shebang 后面加上“/usr/bin/perl”。这是 Perl 解释器的位置。

第二行是一个简单的打印语句。我们希望系统打印“Hello Hackers-Arise!”。我们以终止该行的特殊字符“\n”结束。

现在让我们保存它并称它为“firstperlscript”。

第 2 步:设置权限

让我们导航到我们保存它的目录并输入:

·kali >ls –l

我们的脚本已保存为默认权限 644。为了能够执行此脚本,我们将需要“执行”权限,因此我们需要将权限更改为 755,

·kali>chmod 755 firstperlscript

第 3 步:执行脚本

现在我们有了执行权限,我们可以通过键入以下命令来运行这个脚本:

./firstperlscript

如您所见,它打印了“Hello Hackers_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并将其权限从 644 更改为 755,以便我们执行它。最后,让我们输入以下命令来执行它:

kali>./secondperlscript

成功!我们能够将用户输入捕获到变量 $name 中,然后在网站 Hackers-Arise! 的打印语句中使用该输入。

第 7 步:Perl 中的 Shell 命令

使用 Perl 的优点之一是它允许我们直接从脚本到底层系统使用 shell 命令。有多种方法可以做到这一点,但我更喜欢使用带括号和双引号起来的 shell 命令的系统函数(我们将在后续的 Perl 教程中介绍其他方法)。

为了演示这一点,让我们将以下行添加到我们的脚本中系统(“ifconfig”);

现在让我们将它保存为thirdperlscript并授予我们执行它的权限。

第 8 步:执行脚本

当脚本运行时,它的作用与我们的 secondperlscript 相同,但它也直接与操作系统交互以获取用户系统上的 IP 地址和其他网络信息。

想象一下能力可以为我们做什么!可以无限放大。

相关推荐

墨尔本一华裔男子与亚裔男子分别失踪数日 警方寻人

中新网5月15日电据澳洲新快网报道,据澳大利亚维州警察局网站消息,22岁的华裔男子邓跃(Yue‘Peter’Deng,音译)失踪已6天,维州警方于当地时间13日发布寻人通告,寻求公众协助寻找邓跃。华...

网络交友须谨慎!美国犹他州一男子因涉嫌杀害女网友被捕

伊森·洪克斯克(图源网络,侵删)据美国广播公司(ABC)25日报道,美国犹他州一名男子于24日因涉嫌谋杀被捕。警方表示,这名男子主动告知警局,称其杀害了一名在网络交友软件上认识的25岁女子。雷顿警...

一课译词:来龙去脉(来龙去脉 的意思解释)

Mountainranges[Photo/SIPA]“来龙去脉”,汉语成语,本指山脉的走势和去向,现比喻一件事的前因后果(causeandeffectofanevent),可以翻译为“i...

高考重要考点:range(range高考用法)

range可以用作动词,也可以用作名词,含义特别多,在阅读理解中出现的频率很高,还经常作为完形填空的选项,而且在作文中使用是非常好的高级词汇。...

C++20 Ranges:现代范围操作(现代c++白皮书)

1.引言:C++20Ranges库简介C++20引入的Ranges库是C++标准库的重要更新,旨在提供更现代化、表达力更强的方式来处理数据序列(范围,range)。Ranges库基于...

学习VBA,报表做到飞 第二章 数组 2.4 Filter函数

第二章数组2.4Filter函数Filter函数功能与autofilter函数类似,它对一个一维数组进行筛选,返回一个从0开始的数组。...

VBA学习笔记:数组:数组相关函数—Split,Join

Split拆分字符串函数,语法Split(expression,字符,Limit,compare),第1参数为必写,后面3个参数都是可选项。Expression为需要拆分的数据,“字符”就是以哪个字...

VBA如何自定义序列,学会这些方法,让你工作更轻松

No.1在Excel中,自定义序列是一种快速填表机制,如何有效地利用这个方法,可以大大增加工作效率。通常在操作工作表的时候,可能会输入一些很有序的序列,如果一一录入就显得十分笨拙。Excel给出了一种...

Excel VBA入门教程1.3 数组基础(vba数组详解)

1.3数组使用数组和对象时,也要声明,这里说下数组的声明:'确定范围的数组,可以存储b-a+1个数,a、b为整数Dim数组名称(aTob)As数据类型Dimarr...

远程网络调试工具百宝箱-MobaXterm

MobaXterm是一个功能强大的远程网络工具百宝箱,它将所有重要的远程网络工具(SSH、Telnet、X11、RDP、VNC、FTP、MOSH、Serial等)和Unix命令(bash、ls、cat...

AREX:携程新一代自动化回归测试工具的设计与实现

一、背景随着携程机票BU业务规模的不断提高,业务系统日趋复杂,各种问题和挑战也随之而来。对于研发测试团队,面临着各种效能困境,包括业务复杂度高、数据构造工作量大、回归测试全量回归、沟通成本高、测试用例...

Windows、Android、IOS、Web自动化工具选择策略

Windows平台中应用UI自动化测试解决方案AutoIT是开源工具,该工具识别windows的标准控件效果不错,但是当它遇到应用中非标准控件定义的UI元素时往往就无能为力了,这个时候选择silkte...

python自动化工具:pywinauto(python快速上手 自动化)

简介Pywinauto是完全由Python构建的一个模块,可以用于自动化Windows上的GUI应用程序。同时,它支持鼠标、键盘操作,在元素控件树较复杂的界面,可以辅助我们完成自动化操作。我在...

时下最火的 Airtest 如何测试手机 APP?

引言Airtest是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机APP和游戏的测试。一旦使用了这个工具进行APP的自动化,你就会发现自动化测试原来是如此简单!!连接手机要进行...

【推荐】7个最强Appium替代工具,移动App自动化测试必备!

在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节。Appium作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知。然而,在不同的测试场景和需求下,还有许多其他优...

取消回复欢迎 发表评论: