为Python渗透测试探测器添加网页图片下载

本篇概要

  • Selenium与PhantomJS
  • 为渗透测试探测器添加截图功能
  • 测试新功能

在前面文章中,我们使用Python编写了一个渗透测试探测器,从fuzz数据库中获取字典信息,利用requests模块请求拼接组装的URL,从而获得URL的响应内容,并借助termcolor模块将整理后的信息打印出来。

现在我们又有了一个不成熟的想法,不知道当不当说。

在正常的Web渗透测试中,我们在探测完一个网站,获取到所有的探测结果之后,肯定要看看请求成功的链接的网页是长什么样子的。如果URL过多,一个一个去点击的话,就太浪费时间了。所以我们需要获取到网页的截图,方便探测完之后,查看网页。

Selenium与PhantomJS

要对请求的网页进行截图,这样的操作,requests大概是没辙了。这时候,我们需要使用到另一个工具——Selenium,一个专门用于Web自动化测试的模块。

其能够借助浏览器内核驱动,实现浏览器的各种动作。在Python中,我们通过pip可以轻易的进行安装:

Selenium可以使用多种浏览器内核,比如主流的Chrome、 Firefox等,但在这里,我们使用另一个非主流的浏览器——PhantomJS,一个无头浏览器。除了没有图形界面外,拥有其他主流浏览器的所有功能。

我们可以在命令行使用phantomjs,自然也可以在Python中使用Selenium来调用phantomjs:

这样,就实现了使用PhantomJS作为Selenium调用的浏览器内核了。

在实例化一个webdriver后,使用get()方法,可以访问一个URL:

使用save_screenshot()方法,可以保存页面的截图。

关于Selenium的其他运用,可以参见博客的其他文章,或是网络上的资料。在此,我们主要使用到这两个方法。

添加网页截图功能

了解到使用Selenium进行网页请求和截图的方法后,我们就可以为我们的渗透测试探测器添加新功能了。

当然,肯定不是每个页面都需要保存网页的截图,我们对请求成功的页面进行截图,也就是响应的状态码大于等于200小于300的网页才需要截图。

下面修改一下request_performer()类中的run()方法:

我们主要添加了4行代码:

实例化一个webdriver,请求url,等待3秒,设置浏览器窗口大小,保存网页截图。

测试网页截图功能

修改好代码之后,我们可以测试一下我们的第4版本的渗透测试探测器了。

在命令行终端运行命令:

运行完成,我们看看我们的文件夹:

多出了5个图片,我们打开一个看看:

与浏览器打开的是一样的:

这样我们使用Python编写的渗透测试探测器就基本完善好了。

接下来,我们将会介绍Python Web渗透测试之密码攻击!

PS:点击“阅读原文”,查看清晰代码示例

原文发布于微信公众号 - 州的先生(zmister2016)

原文发表时间:2017-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木子昭的博客

img标签随机获取高质量图片

1601
来自专栏做全栈攻城狮

采用React+Ant Design组件化开发前端界面(一)

注意:在webpack.config.dev.js添加的配置部分,也需要在webpack.config.prod.js中做相同的配置。否则可能导致项目发布上线后...

862
来自专栏Flutter入门到实战

Flutter从配置安装到填坑指南详解

在 Google I/O ’17 上,Google 向我们介绍了 Flutter —— 一款新的用于创建移动应用的开源库。

1.2K5
来自专栏zaking's

走近webpack(3)--图片的处理

  上一章,咱们学了如何用webpack来打包css,压缩js等。这一篇文章咱们来学习一下如何用webpack来处理图片。废话不多说,咱们开始吧。   首先,咱...

3637
来自专栏Debian社区

MX Linux 17 Beta 1 发布,基于 Debian 的发行版

MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行,它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xf...

381
来自专栏Jerry的SAP技术分享

webpack-dev-server启动后, localhost:8080返回index.html的原理

webpack-dev-server是一个采用Node.js Express实现的微型服务器, 内部使用webpack-dev-middleware来响应发送到...

1592
来自专栏魏艾斯博客www.vpsss.net

WordPress 手动优化和插件优化 MySQL 数据库的方法

1162
来自专栏跟我一起学Docker

【番外篇】Vim-Go和Vs-Code环境搭建

如果说在Linux环境下,什么编辑器最好用,如果我说是VIM,估计会有一大部分人嗤之以鼻,怎么可能。VIM可能是他用过众多编辑器最难用的一个。在我...

2435
来自专栏about云

zookeeper思考与总结1:在其它组件的作用及hdfs对比

一、zookeeper在其它组件的作用 1.为什么会产生zookeeper zookeeper是模仿的谷歌的Chubby来解决分布式一致性的问题。2006年的时...

3505
来自专栏北京马哥教育

Linux 下使用 Sar 简介

介绍 Sar 最早是实现在 Salaris Unix 系统里,后来移植到了大部分其他的 Unix 系统(如AIX,HP-UX等)。Linux 下也有法国人写的 ...

3727

扫码关注云+社区