perl 代码审计从基础到实战
Posted 信安之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl 代码审计从基础到实战相关的知识,希望对你有一定的参考价值。
0x01 Perl 基础
Perl 基础部分参考自:
https://www.runoob.com/perl/perl-tutorial.html
简介
Perl 全称 Practical Extraction and Report Language,一种功能丰富的计算机程序语言,运行在超过 100 种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发,其最重要的特性是 Perl 内部集成了正则表达式的功能以及巨大的第三方代码库 CPAN。
Perl 语言的应用范围很广,除 CGI 以外,Perl 被用于图形编程、系统管理、网络编程、金融、生物以及其他领域。由于其灵活性,Perl 被称为脚本语言中的瑞士军刀。
Perl 是一种弱类型语言。
运行方式
1、交互式:perl -e <perl code>
2、运行脚本(以 .pl、.PL 作为后缀):perl script.pl
数据类型
Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型。
Perl 有三个基本的数据类型:
标量:标量是 Perl 语言中最简单的一种数据类型。这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。在使用时在变量的名字前面加上一个$
,表示是标量。例如:$a=123;
数组:数组变量以字符@
开头,索引从0开始,如:@arr=(1,2,3)
哈希:哈希是一个无序的键值对集合。可以使用键作为下标获取值。哈希变量以字符%
开头。如:%h=('a'=>1,'b'=>2);
基本语法
Perl 借用了 C、sed、awk、shell 脚本以及很多其他编程语言的特性,语法与这些语言有些类似,也有自己的特点。
Perl 程序有声明与语句组成,程序自上而下执行,包含了循环,条件控制,每个语句以分号 (;) 结束。
Perl 语言没有严格的格式规范,你可以根据自己喜欢的风格来缩进。
注释符
Perl 注释的方法为在语句的开头用字符#
,如:
# 这一行是 perl 中的注释
Perl 也支持多行注释,最常用的方法是使用 POD(Plain Old Documentations) 来进行多行注释。方法如下:
#!/usr/bin/perl
# 这是一个单行注释
print "Hello, world\n";
=pod 注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
=cut
以上是关于perl 代码审计从基础到实战的主要内容,如果未能解决你的问题,请参考以下文章
[php审计实战篇]BlueCms v1.6 Union注入