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) 来进行多行注释。方法如下:

 
   
   
 


以上是关于perl 代码审计从基础到实战的主要内容,如果未能解决你的问题,请参考以下文章

[php审计实战篇]BlueCms v1.6 Union注入

超硬核:深入讲解Perl安全之代码审计——perl脚本中存在的问题与存在的安全风险

AKun Wallpaper 代码审计实战分析4

通过代码审计找出网站中的XSS漏洞实战

代码审计入门实战

AKun Wallpaper 代码审计实战分析5