购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 编程基础环境

针对不同的渗透测试场景,测试者需要编写的脚本文件会有所不同。例如,使用Python语言编写的“.py”文件需要Python环境运行;使用PHP语言编写的脚本文件需要PHP环境运行。那么,常见的编程语言有哪些呢?对于不同的编程语言,运行环境应该如何进行安装与配置?本节将以Python、PHP、Java、GCC、Go几种语言为例,进行运行环境配置及工具安装的讲解。

1.2.1 Python运行环境

Python的官网首页如图1-36所示。Python是被许多技术人员当作首选的一门语言,它具有强大的渗透测试功能和广泛的第三方库支持。Python是一种解释型、面向对象、动态数据类型的高级编程语言,其内置数据结构,结合动态类型和动态绑定的功能,对于快速开发应用程序非常有帮助。同时Python也是常用于将现有组件连接在一起的“胶水语言”,它简单易学的语法强调可读性,降低了程序维护的成本。Python支持模块和包,这鼓励程序模块化和代码重用。Python解释器和功能广泛的标准库可以以源代码或二进制码的形式免费提供给所有主要平台。

图1-36 Python官网首页

Kali Linux中自带Python环境,可运行绝大多数Python编写的程序(其他系统可能需要自行安装Python环境)。Python代码库主要以第三方库居多,这样大大提升了开发效率。可以使用pip从Python包索引和其他索引中安装各种程序包。

新版Python在Windows上安装时会携带pip程序,不需要再安装;在Ubuntu或Debian上,需要利用apt命令安装pip,Python2 pip安装命令为“apt install python-pip”,Python3 pip安装命令为“apt install python3-pip”;在Linux上可利用“get-pip.py”文件进行安装;Mac系统自带pip,在Mac m1上则需要进行编译安装。

安装好pip后就可以使用pip安装Python库了。pip的使用方法为:python3-m pip install requests,如图1-37所示。

图1-37 pip install requests

使用这条命令,Python3会调用pip模块安装第三方库“requests”。如果需要安装其他库,将“requests”替换成你想要安装的程序库库名就可以了。

在使用一些Python工具时,可能需要安装这些工具的依赖库。通常这些工具会提供其依赖库清单,并存放在名为“requirements.txt”的文件中。这时执行“python3-m pip install-r requirements.txt”命令即可安装该工具所需要的全部依赖,如图1-38所示。

图1-38 requirements.txt安装

需要注意的是,Python2版本和Python3版本之间存在较大差异,不同工具对Python版本的要求也不同,例如“dirsearch”工具只能在Python3环境执行,如图1-39所示(图中“Python”对应的版本为2,系统允许Python2与Python3并存)。

图1-39 dirsearch

1.2.2 PHP运行环境

PHP(Hypertext Preprocessor,超文本预处理器)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合Web开发。

PHP代码的执行需要拥有PHP代码解释器,笔者推荐初学者使用小皮面板(phpStudy)或者PHP宝塔。安装细节本书不进行详细讲述,读者可以通过查阅官网对应的文档进行相关安装。

接下来我们以phpStudy为例,演示如何运行PHP代码文件。将phpStudy安装到Windows虚拟机中,打开phpStudy软件,界面如图1-40所示。

图1-40 phpStudy界面

打开“一键启动”中的“WAMP”,PHP网站环境就构建完成,如图1-41所示。

图1-41 打开WAMP

切换到“网站”选项卡,选择“管理”|“打开根目录”选项,如图1-42所示。

图1-42 打开根目录

在打开的根目录下创建index.php,写入代码“<?php phpinfo();?>”用于测试PHP环境是否正常,如图1-43所示。

图1-43 写入测试代码

通过浏览器访问http://localhost/,可以看到PHP代码执行成功,如图1-44所示。

图1-44 代码执行成功

值得注意的是,因为PHP版本之间存在差异,有些函数,例如assert、preg_replace等,在PHP 7.3版本中无法正常使用,或是存在部分功能无法使用的情况,所以读者在运行PHP项目遇到问题时,需要注意对应版本的选择。

1.2.3 Java运行环境

Java是多种网络应用程序的基础,也是开发和提供企业应用、移动应用、桌面应用、Web应用的常用工具。在世界各地有超过900万的开发人员使用Java,从笔记本电脑到数据中心,从游戏控制台到超级计算机,从手机到互联网,Java可谓无处不在!

用Java写的工具通常以jar包的方式进行分享。当从GitHub或其他途径获取了jar文件,想在系统上运行jar文件时,就需要安装JDK。JDK是Java Development Kit的缩写,是一种软件开发环境,用于开发Java应用程序和小程序。

笔者建议安装的版本为JDK 8,因为JDK8兼容性比较好,大多数工具都可以在JDK 8上正常运行。在Oracle官网上根据不同的系统内核,下载对应的JDK软件并安装即可,如图1-45所示。

图1-45 下载JDK 8

下面使用jar文件运行命令,试试Java环境是否配置成功。命令为“java-jar xxx.jar”,其中“xxx.jar”为具体的文件名。

以fastjson_rce_tool这个工具为例(-fastjson_tool.jar),可以看到运行成功,没有报错,这说明Java环境配置成功,如图1-46所示。

图1-46 Java环境配置成功

1.2.4 GCC运行环境

GCC全称GNU Compiler Collection。GCC是一个开源编译器套件,提供了用于多种编程语言(如C、C++、Fortran、Ada、Go等)的编译器以及这些语言的库(libstdc++)。GCC最初是作为GNU操作系统的编译器编写的。GNU系统被开发为100%的自由软件。

GCC适用于多种操作系统和平台(如Linux、Mac OS、FreeBSD等),下面将在Kali虚拟机中进行编译演示。虽然Kali虚拟机默认已经安装GCC环境,但是还需要安装一些编译所需要的工具才能进行完整的编译。可以通过命令“sudo apt install gcc make-y”进行安装,如图1-47所示。

图1-47 安装编译工具

以pkcrack工具源代码为例(-pkcrack-1.2.2.tar.gz),用GCC进行编译执行。解压缩pkcrack文件,进入src目录下,执行“make”编译源代码,如图1-48所示。编译中途可能会出现一些警告、报错等提示,这些都属于正常。当编译成功后,会生成pkcrack文件。

图1-48 GCC编译

使用命令“./pkcrack”运行pkcrack文件成功,如图1-49所示。

图1-49 运行pkcrack文件

1.2.5 Go运行环境

Go(又称Golang)语言是Google公司开发的一种静态强类型、编译型、并发型、具有垃圾回收功能的编程语言。它是一个开源项目,旨在提高程序员的工作效率。

Go语言具有表现力强、简洁、干净和高效的特点。它的并发机制使用户可以轻松编写高性能并发程序,充分利用多核和联网机器,而其新颖的类型系统可以实现灵活和模块化的程序构建。

Go语言的安装过程与正常软件安装方式一样,不需要额外的配置。接下来演示在Kali Linux环境下配置Go语言环境。

执行“sudo apt install golang”命令,安装Go语言,如图1-50所示。

图1-50 安装Go语言

安装完成后运行Go源代码文件。以端口隧道工具port_tunnel工具为例(-port_tunnel-main.zip),运行命令“go run port_tunnel.go”,如图1-51所示。

图1-51 运行port_tunnel

虽然这里没有用到第三方库,但其实Go也拥有很强大的第三方库生态,读者可以引用快速开发小工具。以Venom项目为例(-Venom-master.zip),进入该工具所在目录文件夹内,运行“go get-d-v./...”命令即可自动下载对应的依赖包,如图1-52所示。

图1-52 下载依赖包 O6b6NEsNoyEq6QC0gk98+vrWpjLQltan3/j/p5m06BuMHR2FE2ShmDgY7b+UOgTL

点击中间区域
呼出菜单
上一章
目录
下一章
×