大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

怎么给Python渗透测试探测器添加截图功能

这篇文章主要介绍“怎么给Python渗透测试探测器添加截图功能”,在日常操作中,相信很多人在怎么给Python渗透测试探测器添加截图功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么给Python渗透测试探测器添加截图功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的桑珠孜网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

本篇概要

  • Selenium与PhantomJS

  • 为渗透测试探测器添加截图功能

  • 测试新功能

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

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

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

Selenium与PhantomJS

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

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

怎么给Python渗透测试探测器添加截图功能

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

怎么给Python渗透测试探测器添加截图功能

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

怎么给Python渗透测试探测器添加截图功能

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

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

怎么给Python渗透测试探测器添加截图功能

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

怎么给Python渗透测试探测器添加截图功能

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

添加网页截图功能

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

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

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

怎么给Python渗透测试探测器添加截图功能

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

怎么给Python渗透测试探测器添加截图功能

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

测试网页截图功能

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

在命令行终端运行命令:

怎么给Python渗透测试探测器添加截图功能

怎么给Python渗透测试探测器添加截图功能

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

怎么给Python渗透测试探测器添加截图功能

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

怎么给Python渗透测试探测器添加截图功能

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

怎么给Python渗透测试探测器添加截图功能

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

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

到此,关于“怎么给Python渗透测试探测器添加截图功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前文章:怎么给Python渗透测试探测器添加截图功能
本文链接:http://dzwzjz.com/article/pseccs.html
在线咨询
服务热线
服务热线:028-86922220
TOP