Perl 快速 入门 教程

合集下载

perl脚本基础总结

perl脚本基础总结

perl脚本基础总结1. 单引号字符串中的\n不会被当做换⾏符处理。

如:'\'\\' --> '\ 。

2. 双引号字符串联 "Hello"."World"."\n" --> HelloWrold 换⾏;字符串重复操作 "fred"×3 --> "fredfredfred";⼤⼩写 "\l","\L" --> ⼩写 ; "\u","\U" --> ⼤写 ; "\E" 结束。

3. 字符串运算== eq 相等!= ne 不等< lt ⼩于> gt ⼤于<= le ⼩于或等于>= ge ⼤于或等于4. ⽤户输⼊ <STDIN>5. chomp函数:去掉⽂本的"\n"换⾏符。

读写⽂件时,要去掉换⾏符。

如:chomp($text<STDIN>);6. 单⾏注释:# ; 多⾏注释以 "=pod"开始,"=cut" 结束。

7. undef:没有值时,表现为0或空字符串。

8. defined函数:为undef时,返回false,其余返回true。

9. x 输出遍数。

如:print "love" x 3 -->lovelovelove.10. 特殊数组索引:"$#rocks" ,最后⼀个元素索引。

11. qw简写,代替 "" 功能。

如:qw(freds bany wilad dino);12. @rocks=qw /break slasle labv/; #给数组赋值。

@copy=@qwarry; #将⼀个数组拷贝到另⼀个数组⾥。

《学习PERL》课件

《学习PERL》课件
面向对象编程
Perl支持面向对象编程,可以定义类 和对象,支持继承和多态等面向对象
的特性。
强大的文本处理能力
Perl拥有丰富的文本处理函数,能够 高效地处理字符串、正则表达式等文 本数据。
丰富的第三方库
Perl拥有庞大的第三方库和模块,涵 盖了各种领域,方便程序员快速开发 。
Perl的应用领域
Web开发
更新操作
更新哈希表或关联数组中的 键值对。
引用和动态内存分配
引用
通过引用实现变量之间的关联和共享。
引用计数
了解引用计数机制,掌握内存管理技巧。
动态内存分配
在运行时动态分配内存空间。
内存管理
合理管理内存,避免内存泄漏和浪费。
CHAPTER 04
Perl模块和包
CPAN和模块安装
01
CPAN(Comprehensive Perl Archive Network)是Perl模块和 包的官方仓库,提供了数千个Perl模块和包供用户下载和安装。
02
Perl的目的是使程序员能够快 速、高效地编写脚本,处理文 本文件和系统任务。
03
随着时间的推移,Perl逐渐发 展成为一种功能强大的编程语 言,广泛应用于Web开发、系 统自动化、网络编程等领域。
Perl的特点和优势
语法灵活
Perl的语法融合了多种编程语言的特性 ,使得Perl既易于阅读又易于编写。
02
使用CPAN工具,如cpanminus或cpan,可以轻松安装所 需的Perl模块和包。
03
安装过程中可能需要管理员权限,确保在安装前了解所需 的权限和依赖关系。
使用模块和包
01
Perl模块和包提供了可重用的代码库,可以方便地用 于开发应用程序。

perl 使用方法

perl 使用方法

perl 使用方法Perl是一种高级编程语言,它被广泛应用于Web开发、系统管理、数据处理等领域。

本文将介绍Perl的使用方法,帮助读者快速上手。

一、Perl的安装与配置1. 下载Perl的最新版本,官方网站提供了多种操作系统的安装包。

2. 双击安装包,按照提示完成安装过程。

3. 配置环境变量,将Perl的安装路径添加到系统的PATH变量中。

二、Perl的基本语法1. 注释:在Perl中,以"#"开头的行表示注释,不会被解释执行。

2. 变量:Perl中的变量使用"$"符号进行标识,可以存储各种类型的数据。

3. 标量:标量变量存储单个值,可以是字符串、数字等。

4. 数组:数组变量存储一组值,使用"@"符号进行标识,可以通过下标访问其中的元素。

5. 哈希:哈希变量存储键值对,使用"%"符号进行标识,可以通过键访问对应的值。

6. 控制结构:Perl支持if-else、for、foreach、while等常见的控制结构,用于实现条件判断和循环操作。

三、Perl的字符串处理1. 字符串连接:使用"."符号可以将两个字符串连接起来。

2. 字符串截取:使用substr函数可以截取字符串的一部分。

3. 字符串替换:使用s///操作符可以替换字符串中的某个子串。

4. 字符串分割:使用split函数可以将一个字符串按照指定的分隔符拆分成多个子串。

5. 字符串匹配:使用正则表达式可以进行强大的字符串匹配操作。

四、Perl的文件操作1. 打开文件:使用open函数可以打开一个文件,并返回文件句柄。

2. 读取文件:使用<>操作符可以从文件句柄中读取一行内容。

3. 写入文件:使用print函数可以向文件句柄写入内容。

4. 关闭文件:使用close函数可以关闭文件句柄。

五、Perl的模块和包管理1. 模块安装:Perl的CPAN(Comprehensive Perl Archive Network)提供了大量的第三方模块,可以使用cpan命令安装。

perl usage用法

perl usage用法

perl usage用法Perl 是一种通用的脚本编程语言,易于学习和使用。

它在文本处理和系统管理方面非常强大,被广泛应用于日志分析、网页抓取、网络编程、数据库操作等各种领域。

本文将一步一步地回答关于Perl 用法的问题,为读者提供详细的指导和实例。

1. 什么是Perl?Perl(Practical Extraction and Reporting Language)是由Larry Wall 在1987 年开发的一种通用的脚本编程语言。

它具有强大的文本处理能力,灵活易用,被广泛认可为解决实际问题的工具。

2. 如何安装Perl?Perl 可以在多种操作系统上安装和运行,包括Windows、MacOS 和各种Linux 发行版。

可以从Perl 官方网站(Perl 解释器,并按照官方文档中的指引进行安装。

3. 如何编写Perl 程序?Perl 程序的文件扩展名通常为`.pl`。

使用文本编辑器创建一个新文件,然后在文件中输入Perl 代码。

Perl 代码以`#!/usr/bin/perl` 开始,表示这是一个Perl 程序。

可以在程序中使用注释(以`#` 开头)来增加代码的可读性。

4. 如何输出文本内容?在Perl 中,可以使用`print` 函数来输出文本内容。

例如,`print "Hello, World\n";` 将输出`"Hello, World"` 至标准输出。

其中`\n` 表示换行符。

5. 如何从用户获取输入?Perl 中获取用户输入可以使用`<>` 运算符。

例如,`input = <>;` 将获取用户输入,并将该输入保存到变量`input` 中。

6. 如何进行字符串处理?Perl 提供了丰富的字符串处理函数和操作符。

其中包括字符串连接符(`.`)、字符串重复操作符(`x`)、提取子字符串函数(`substr`)、字符串替换函数(`s/`)等。

PERL快速入门

PERL快速入门




简单变量类型(1)

以$开始 整型

十进制 $x = 12345; 8进制 $x = 020;(16) 16进制 $x = 0x20; (32) 11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03 $value = 9.01e+21 + 0.01 - 9.01e+21;

数组的赋值

数组(2)


数组包含元素的个数 $Size= @array; 访问数组元素与遍历 $array[no]; $array=(1,2,3,4,5); $Element=$array[0]; foreach $Element(@array){print “$Element”;} for($i=0; $i <@array;$i++){print “$array[$i]”;} 其他赋值操作 ($First)= @array; ($First,$Second)= @array; ($First,$Second,@SubAraay)= @array; @SubAraay = @array[0,1]; @Array[0,1] = ("string", 46);

Key 为数值或者字符串 Value 为数值、者字符串或者引用

哈希的赋值

%Hash=(); %Ages = ("Michael Caine", 39, "Dirty Den", 34, "Angie", 27); @fruit = ("apples",17,"bananas",9,"oranges","none"); %fruitHash = @fruit; ($var1, $var2, %myarray) = @list @Key=keys(%hash); @value=values(%hash);

perl基础语法

perl基础语法

Perl 是一种功能强大的编程语言,具有灵活的语法和广泛的应用领域。

以下是Perl 的基础语法:变量:Perl 使用符号来标识变量,例如name、$age。

变量可以是数字、字符串等数据类型。

数组:Perl 中的数组使用@ 符号来标识,例如@names。

数组可以包含多个元素,通过索引访问特定元素,例如$names[0]。

哈希表:Perl 中的哈希表使用% 符号来标识,例如%person。

哈希表是一种键值对的数据结构,可以通过键来访问对应的值,例如$person{'name'}。

控制结构:Perl 支持常见的控制结构,如if-else、while、for 循环等。

条件语句使用if 关键字,循环语句可以使用while 或for 关键字。

函数:Perl 中的函数使用sub 关键字定义,例如sub sayHello { print "Hello, World!\n"; }。

调用函数时,可以直接使用函数名加参数列表,例如sayHello()。

正则表达式:Perl 是正则表达式的强大工具,可以使用正则表达式进行模式匹配和文本处理。

正则表达式的模式使用// 包围,例如/hello/。

文件操作:Perl 提供了丰富的文件操作功能,可以打开、读取、写入文件等。

文件操作可以使用内置的文件句柄或自定义文件句柄。

模块和包:Perl 支持模块化编程,可以将代码拆分成不同的模块和包,提高代码的可重用性和可维护性。

模块和包可以使用use 或require 关键字引入。

这些是Perl 的基础语法概述,当然Perl 还有更多高级特性和用法等待你去探索和学习。

perltk教程

水木社区(展开完整界面) → Perl的世界→ 精华区文章阅读Perl 版 (精华区)发信人: sisoe (游刃), 信区: Perl标题: perl/tk教程发信站: BBS 水木清华站 (Tue Aug 29 12:23:44 2000)perl/tk 教程浦绍忠前言perl/tk 在图形界面、表框设计、菜单设计等方面功能强大,对字体、颜色和绑定使用灵活,容易上手。

本教程写作原则:简洁明了地介绍 perl/tk 的功能及其使用,对功能的使用一般只介绍一种方法,其余方法由读者自己实践。

对于perl/tk的常用功能及其使用给以相应的例子,为突出选项的作用,在例子中有时不是遵循美学原则,得到漂亮的界面,而是使用一些夸张的选项值。

教程的介绍对象是 perl/tk 402.002 版本,使用Windows 序列操作系统,本教程中全部例子都在 Windows95,Windows98 下试验通过。

讲解 perl/tk 基本组件,基本使用方法,对 perl/tk 的扩展模块不作说明,由读者自己去学习掌握。

假定读者已掌握 perl 基础知识,对例子中用到的perl基础知识不作讲解。

第一章 perl/tk 概要说明一。

perl/Tk的取得从多个网站上可以取得perl/Tk, perl/Tk的安装需要C++的编译器。

Gurusamy Sarathy 已经为使用 Intel 芯片的机器在 NT 上安装了最常用模块的tar 文件,压缩文件大约有6M,安装后大约有24M,安装后就可以在 Windows 系列系统下使用 Perl/Tk。

为便于下载,你可以从国内网站"http://ftp.freesoft./pub/languages/perl/CPAN/modules/by-authors/id/GSAR/"取得Gurusamy Sarathy 安装好的 perl5.00402-bindist04-bc.zip文件。

Perl5教程

安装过程为: (1)解 压 : $gunzip perl-5.004.tar.gz $tar xvf - <perl-5.004.tar.gz (2)编 译 : $make makefile
(3)放 置 : 将编译生成的可执行文件拷贝到可执行文件通常所在目录, 如: $copy <compiled excutable file> /usr/local/bin/perl 注:这需要系统管理员权限。
第十四章 Perl5 的包和模块
一、require 函数 1、require 函数和子程序库 2、用 require 指定 Perl 版本
二、包 1、包的定义 2、在包间切换 3、main 包 4、包的引用 5、指定无当前包 6、包和子程序 7、用包定义私有数据 8、包和系统变量 9、访问符号表
三、模块 1、创建模块 2、导入模块 3、预定义模块
第十二章 Perl5 中的引用(指针)
一、引用简介 二、使用引用 三、使用反斜线(\)操作符 四、引用和数组 五、多维数组 六、子程序的引用
子程序模板 七、数组与子程序 八、文件句柄的引用
第十三章 Perl 的面向对象编程
一、模块简介 二、Perl 中的类 三、创建类 四、构造函数
.实例变量 五、方法 六、方法的输出 七、方法的调用 八、重载 九、析构函数 十、继承 十一、方法的重载 十二、Perl 类和对象的一些注释
.与 脚 本 语 言 一 样 , Perl 不 需 要 编 译 器 和 链 接 器 来 运 行 代 码 , 你 要 做 的 只 是 写 出 程 序 并 告 诉 Perl 来 运 行 而 已 。 这 意 味 着 Perl 对于小的编程问题的快速解决方案和为大型事件创建原型来测 试潜在的解决方案是十分理想的。

perl教程6-1——经典小骆驼配套讲解

第六章tangyurong@主要内容6.1 数据库介绍6.2 MySQL数据库基本使用方法 6.3 DBI概述和运用6.4 DBI工具函数6.5 ODBC和DBD编程实例6.1 数据库介绍1.数据库管理系统(DBMS)嵌入式数据库面向对象数据库层次型数据库关系型数据库关系型数据库z Microsoft SQL Serverz Oraclez Sybasez DB2z Informixz MySQLz Microsoft Access2.关系数据库模型数据结构一个关系模型的逻辑结构是一张二维表,它由行和列组成。

表中的一行即为一个元组;表中的一列即为一个属性。

存储结构关系数据模型中,实体及实体间的联系都用表来表示。

在数据库的物理组织中,表以文件形式存储,每一个表通常对应一种文件结构操作及完整性约束z关系数据模型的操作主要包括查询、插入、删除和更新数据。

这些操作必须满足关系的完整性约束条件。

z关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。

z关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,不必详细说明“怎么干”,从而大大地提高了数据的独立性。

关系数据库基本结构一个数据表列3.关系数据模型的优缺点优点:z关系模型是建立在严格的数据概念的基础上的。

z无论实体还是实体之间的联系都用关系来表示。

对数据的检索结果也是关系(即表),因此概念单一,其数据结构简单、清晰。

z关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

缺点:z由于存取路径对用户透明,查询效率往往不如非关系数据模型。

因此为了提高性能,必须对用户的查询请求进行优化。

4. 关系数据库语言SQL‹ ‹ ‹是一种结构化查询语言 类似于人类语言,而不是计算机语言 大多数SQL实现都是不区分大小写的)注意:指的是关键字不区分一些SQL查询命令SQL命令SELECT FROM WHERE ORDER BY INSERT UPDATE说明从一个表中或多个表中选择(取回)字段 指定从哪个表中取得字段 指定选择数据记录的标准 指定记录的排列标准 把值插入一个或多个表里 更新一个或多个表里的数据6.2 MySQL数据库基本使用方法1. 连接MySQL数据库服务器 2. MySQL基本SQL命令介绍1. 连接MySQL数据库服务器‹条件z 客户端:基于Windows操作系统 z 远程服务器:基于Linux/Unix操作系统‹步骤:1. 登录Linux/Unix服务器 方法:通过SSH程序,输入host name、user name和password后 即可进入2. 登录MySQL数据库 方法:进入MySQL所在的目录后,键入: $mysql –u username –p password3. 进入MySQL的提示符为: mysql>在提示符后键入各种SQL命令,并以分号结束4. 退出MySQL mysql>quit2.MySQL基本SQL命令介绍„SQL命令‹数据库命令 数据表命令 记录命令‹ ‹① 数据库命令‹建立数据库 CREATE DATABASE 数据库名; 显示数据库 SHOW DATABASES; 打开数据库 USE 数据库名; 注:在此分号可以省略‹‹‹删除数据库 DROP DATABASE 数据库名;② 数据表命令‹建立数据表CREATE TABLE (field-name-1 field-name-2 …, field-name-n );字段名数据表名 field-type-1 modifiers, field-type-2 modifiers, field-type-n modifiers字段类型修饰符注:表的名字中不能包含空格、斜线和句号,除此之外,任何字符都是允许的字段类型说明:CHAR (M )保存最大长度不超过255个字符的字符串类型VARCHAR (M )最大长度为65535个字符的字符串类型TEXT最大长度为216个字符的字符串类型指定该数据所需使用的长度或位数CHAR、VARCHAR、TEXT区别:1.数据的检索效率是:CHAR>VARCHAR>TEXT2.CHAR在保存的时候,后面(右边)会用空格填充到指定的长度,在检索的时候后面的空格会去掉,所以检索出来的数据需要再用什么trim之类的函数去处理。

perl语言学习


Perl语言
输出操作print 作用:它可以把标量直接输出到标准输出 注意区别:如 $name=“sheng” -- print $name;============sheng -- print “$name”;========sheng -- print “du jian $name”;=du jian sheng -- print “du jian ”$name;=du jian sheng 由此可见,当只含有标量变量时,可以不加双引号;当含有字符串直接量和标 量变量时,应该加双引号
Perl语言
Perl的擅长 Perl处理的整体来说:90%都是文字处理有关,10%可以用来处理其它事务
Perl语言
做为程序员 1:应该学会操作unix或者linux 2:学会使用vim或者emacs 3:学习正则表达式 4:熟悉计算机硬件 5:学会引用及管理网络
Perl语言
标量数据 1:指单件事物 2:标量可以是数值,也可以是由字符组成的字符串 3:数值与字符串是通用的 4:perl内部一律使用“双精度浮点数”;也就是是说,perl内部不存在整数值 程序中用到的整数常量会被转换成等效的浮点值 5:每条语句以分号结束,建议每条语句单独占用一行 6:注释以“#”开始,后面所有的字符都为注释
Perl语言
列表变量 ($name1,$name2,$name3) 请这样给列表变量赋值 1: ($name1,$name2,$name3)=(“du”,“jian”,“sheng”) 2: ($name1,$name2,$name3)=qw/du jian sheng/ 注意事项: 1:变量数目多于列表元素数目---多余的变量被赋值undef 2:列表元素数目多于变量数目---忽略掉多余的列表元素
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六.用户数据获取
(1)STDIN
当编写exploit的时候,我们有时需要获取用户的输入数据,比如IP地址,以便使程序根据用户的意图来执行相应的工作。对于这种情况,我们可以使用STDIN(标准输入)方法来获取用户的输入数据。例如:
print "What's your name?\n";
$name = <STDIN>;
$name = “riusksk \n”; #my name
print $name;
那么运行后它会直接输出:
d:\>perl riusksk.pl
riusksk
现在我们将上面的代码改成:
$hello = “Hello,”;
$name = “riusksk!\n”; #my name
print “$hello”.”$name”;
$sentence = "Hello everyone ! my name is riusksk. ";
@words = split(" ", $sentence) ; #这里" "也可写成/ /(中间有空格),即以空格为间隔符
print join(" ",@words);
输出结果:
d:\>perl riusksk.pl
$x = 123;(十进制数,注意分号的使用,这跟C语言是相同的。)
$y = 0xff;(十六进制数)
$z = -32.2;(浮点数)
$string = “ I’m riusksk.\n”;(对于包含空格的字符串要加双引号,是英文输入法中的双引号,而非中文的双引号。如果无空格,那么不加引号也是可以的。除此之外,单引号也是可以的,除非字符串中已经含有单引号,就像这一句就只能使用双引号了,但是使用单引号后,不能解释转义符,也就是说,如果使用了单引号,那么它就会把\n之类的转义符直接输出,而不是换行。)
C
(3)for循环语句
格式:
for ($i=1; $i <=5; $i++){
statement
}
例如:
for ($i=1; $i <=5; $i++){
print “$i”.”\t”;
}
输出结果:
d:\>perl riusksk.pl
12345
(4)foreach循环
格式:
foreach $num (@array) {#num为数组@array中的元素
二.Windows下的Perl环境搭建
在开始Perl编程之旅之前,读者需要先下载两样工具:ActivePerl和EditPlus。ActivePerl是一款Perl解释器,可在AIX, HP-UX, Linux, Mac OS X, Solaris和Windows等多操作系统平台下使用,使用起来也很简便,直接双击编写好的*.pl文件(perl的文件格式)(这种方法可能会在未看清楚输出结果就自动关闭了,但如果你只是为了生成某个文件,就可以直接使用这种方法,比如在本地溢出利用中用于构造可触发溢出的文件)或者在DOS下输入如下命令即可:
statement
}
例如:
@array = (10,20,30,40,50);
foreach $num (@array){
if ($num ==10){
$num = 30;
}
}
print join("","@array");
输出结果:
d:\>perl riusksk.pl
30 20 30 40 50
下面我们实例操作一下,以巩固知识。
输入以下代码并保存为riusksk.pl:
$a = 1+2;
$b = 4-3;
$c = 5*6;
$d = 6/2;
$e = 2>1;
$f = 3!=4;
$g = “A” eq “A”;
$h = “A” cmp ”B”;
print “$a”.”\t”;
print “$b”.”\t”;
}
else {
statement3
}
例如:
$name =riusksk;
if ($name eq "riusksk") {
print "you're riusksk.\n";
}
elsif ($name eq "quange") {
print "you're quange.\n";
}
else {
print "I don't know your name !\n";
(2)@ARGV
除以上方法之外,我们还可以使用@ARGV。如同数组一般,@ARGV支持用户参数,这跟C语言中的argv,argc类似,在很多perl exploit中经常可以见到它。比如我们在对目标主机进行溢出攻击时,经常可见到像下面的指令:
perl exploit.pl127.0.0.1 3424
一些常见的转义符如下:
\n
New Line
\r
Return
\t
Tab
\f
Form Feed
\bBaΒιβλιοθήκη kspace\vVertical Tab
\e
Escape
\a
Alarm
\L
Lowercase All
\l
Lowercase Next
\U
Uppercase All
\u
Uppercase First
在perl中,"#"是不为解释器所解释的,它是作为注释符来使用的,比如将以下代码保存为riusksk.pl文件:
输出结果如下:
d:\>perl riusksk.pl
Hello,riusksk!
在这里点号“.”起到一个连接字符串的作用,在后面关于溢出exploit编写中,你就可以体会到它的方便之处了,而且增强了代码的易读性。接下来,我们讲讲关于操作符方面的知识。算术操作符主要有:
+(加)、-(减)、*(乘)、/(除)、**(乘幂)、%(取余)、-(单目负)。
print"$hello[0]"."\n";
print "$hello[1]"."\n";
print "$hello[2]"."\n";
输出结果:
d:\>perl riusksk.pl
hello
world
d:\>
下面我们再讲一个函数——split()函数,主要功能是以某种字符来分割句子以转存到数组中,然后从数组中提取数据以作为他用。下面我们还是以实例进行讲解:
127.0.0.1是目标主机的IP地址,3424是端口号。下面我们举例讲解一下@ARGV的使用,以下代码将输入参数<IP>和<Port>保存在@ARGV数组中,而$0是用来代替被perl解释器所解释的文件名(比如perl riusksk.pl中$0=riusksk.pl):
print “$c”.”\t”;
print “$d”.”\t”;
print “$e”.”\t”;
print “$f”.”\t”;
print “$g”.”\t”;
print “$h”.”\n”;
输出结果如下:
d:\>perl riusksk.pl
31303111-1
四.数组
数组是用来存储列表的,与变量不同,它允许在perl程序中使用一序列值,可以为任意数值,也可为空,数组变量是以字符“@”开头的。为了理解它,我们需要去实践操作一下。先在riusksk.pl中输入以下代码:
Perl黑客编程
作者:riusksk(泉哥)
主页:
邮箱:riusksk@
目录
一.Perl简介
二.Windows下的Perl环境搭建
三.基础知识
四.数组
五.条件与循环语句
六.用户数据获取
七.文件读写
八.子程序
九.LWP模块
十.套接字Socket
十一.编写攻击代码
(1)XSS exploit
(2)SQL Injection Exploit
(3)远程文件包含
(4)LFI2RCE Exploit
(5)本地溢出
(6)远程溢出
十二.结论
一.Perl简介
Perl是Practical Extraction and Report Language的编写,它是由Larry Wall设计的,主要用于UNIX环境下编程,当然目前它也是只支持Windows系统的,本文主要也是讲在Windows下的Perl编程,并侧重于黑客安全方面。Perl如脚本语言一般,无需经编译器来编译才能运行代码,应用起来也很简便,特别是用它来写exploit尤为流行。据统计,目前世界上有70%的exploit是用Perl来编写的。在国内,由安全焦点出版的《网络渗透技术》一书提到的主要编程语言中,主要有perl,c,asm三种,书中提到在阅读此书的预备知识中就要求熟悉C,Perl,Asm,由此可见,perl语言在国内安全方面的应用也是占有一席之地的。在国外著名漏洞公布站点milw0rm中,我们也可以经常看到用perl编写的exploit,无论是在脚本攻击中,还是在系统漏利用中,特别是在溢出攻击中,都可以经常见到它的身影。除此之外,有些安全人士也用它来编写Fuzzing工具,用于挖掘漏洞。另外,本文讲述的只是Perl语言中的冰山一角,如果读者想深入学习该语言的话,建议学习一下官方文档或者其它编程书籍。
运行结果:
相关文档
最新文档