Skip to content

Files

Latest commit

e7ae1ae · Oct 21, 2021

History

History
117 lines (68 loc) · 6.46 KB

File metadata and controls

117 lines (68 loc) · 6.46 KB

零、前言

欢迎学习 Python web 渗透测试!

在本书中,我们将学习渗透测试过程,并了解如何编写自己的工具。

您将利用 Python 的简单性和可用库来构建自己的 web 应用安全测试工具。本书的目标是向您展示如何使用 Python 自动化大多数 web 应用渗透测试活动。

我希望你现在完全掌握了即将发生的事情,并且你和我一样兴奋。

那么,让我们开始这段美妙的旅程吧。

这本书是给谁的

如果您是一名 web 开发人员,希望进入 web 应用安全测试领域,本书将立即为您提供所需的知识!熟悉 Python 是必要的,但不是专家级的。

这本书涵盖的内容

第 1 章Web 应用渗透测试简介向您介绍 Web 应用安全过程以及测试应用安全的重要性。

第 2 章与 Web 应用交互介绍了如何使用 Python 和请求库以编程方式与 Web 应用交互。

第 3 章,*使用 Scrapy 进行 Web 爬取–映射应用,*介绍了如何使用 Python 和 Scrapy 库编写自己的爬取程序。

第 4 章资源发现,教您如何编写一个基本的 web 应用 BruteForce,帮助我们进行资源发现。

第 5 章密码测试解释了密码质量测试,也称为密码破解。

第 6 章检测和利用 SQL 注入漏洞讲述了检测和利用 SQL 注入漏洞。

第 7 章拦截 HTTP 请求介绍 HTTP 代理,并帮助您基于 mitmproxy 工具创建自己的代理。

充分利用这本书

本课程的唯一先决条件是具备基本的编程或脚本编写经验,这将有助于快速理解示例。

就环境而言,您只需要下载包含易受攻击的目标 web 应用的虚拟机和包含所有必要库的 Python 环境。要运行虚拟机,您需要从安装虚拟盒 https://www.virtualbox.org/

下载示例代码文件

您可以从您的账户www.packtpub.com下载本书的示例代码文件。如果您在其他地方购买了本书,您可以访问www.packtpub.com/support并注册,将文件通过电子邮件直接发送给您。

您可以通过以下步骤下载代码文件:

  1. 登录或注册www.packtpub.com
  2. 选择“支持”选项卡。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。

下载文件后,请确保使用以下最新版本解压或解压缩文件夹:

  • WinRAR/7-Zip for Windows
  • 适用于 Mac 的 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/Learning-Python-Web-Penetration-Testing 。如果代码有更新,它将在现有 GitHub 存储库中更新。

我们的丰富书籍和视频目录中还有其他代码包,请访问**https://github.com/PacktPublishing/** 。看看他们!

下载彩色图像

我们还提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。您可以在这里下载:https://www.packtpub.com/sites/default/files/downloads/LearningPythonWebPenetrationTesting_ColorImages.pdf

使用的惯例

本书中使用了许多文本约定。

CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个示例:“服务器返回一个 HTTP 响应,其中包含一个200 OK代码、一些头和test.html内容(如果它存在于服务器上)。”

代码块设置如下:

#!/usr/bin/env
import requests
r = requests.get('http://httpbin.org/ip')
print r.url
print 'Status code:'
print '\t[-]' + str(r.status_code) + '\n'

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

r = requests.get(self.url, auth=(self.username, self.password))
                if r.status_code == 200:
                    hit = "0"

任何命令行输入或输出的编写方式如下:

python forzaBruta-forms.py -w http://www.scruffybank.com/check_login.php -t 5 -f pass.txt -p "username=admin&password=FUZZ"

粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个示例:“我们右键单击页面,然后选择查看页面源。”

警告或重要提示如下所示。

提示和技巧如下所示。

联系

我们欢迎读者的反馈。

一般反馈:发送电子邮件feedback@packtpub.com并在邮件主题中提及书名。如果您对本书的任何方面有疑问,请发送电子邮件至questions@packtpub.com

勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packtpub.com/submit-errata,选择您的书籍,点击 errata 提交表单链接,然后输入详细信息。

盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packtpub.com与我们联系,并提供该材料的链接。

如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com

评论

请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。

有关 Packt 的更多信息,请访问packtpub.com