资源探测的作用

通过资源探测,我们可以在目标系统中发现文件、目录、活动、服务还有相关的参数,为下一步的行动提供信息参考。

一个开源的模糊测试数据库

https://github.com/fuzzdb-project/fuzzdb 是一个开源的漏洞注入和资源发现的原语字典。其提供了攻击、资源发现和响应分析的资源。

第一个暴力探测器

接下来,我们需要把上面介绍的数据库现在下来以便后续使用,你可以自行选择下载方式:

这个数据库将会在我们之后的工作中担任“字典”的工作,来辅助我们完成对网站的探测。现在我们需要新建一个 .py 文件,在这个文件中编写探测器。

首先,引入相关的模块:

  • requests用于请求目标站点;
  • threading用于启用多线程;
  • sys用于解析命令行参数;
  • getopt用于处理命令行参数;

然后,定义一个程序的横幅:

这个横幅用于在程序启动的时候显示出来,除了让程序个性一点之外,也没啥用。

再定义一个函数,用来显示程序的用法:

我们的程序因为是在命令行下运行的,所以需要设置一些参数,在这里,我们用:

  • -w来指定网址
  • -t 来指定线程数
  • -f来指定字典文件

这三个参数缺一不可。

这两个函数创建好后,运行程序便会出现如下界面:

看上去是不是有那么点意思。

接着,我们创建一个继承于Thread的类request_performer(),用于创建线程并向目标站点发起请求以及获取响应:

在request_performer()类的run()方法里面,我们利用requests对URL进行请求并将响应的状态码打印出来。而这,就是我们这个探测器的最主要功能了。

再创建一个启动request_performer()类的函数launcher_thread(),用于遍历字典文件中的关键字组合成URL并生成新的线程。

继续创建一个函数start(),用于接收命令行中的参数将其传递给launcher_thread()函数:

最后,当然是在主程序中运行了:

这个程序到底有什么用呢?

在这里,我们不得不再提一下上面提及过的FUZZDB数据库。fuzzdb是一个用于模糊测试的数据库,类似于一个庞大的字典。而这些字典的内容呢,都是安全大神们维护的、在实践中发现很有可能会是攻击点的目录或路径。

我们可以打开数据库中的一个txt文件看看:

这是一个针对wordpress博客系统插件的一个字典,这里面都是插件的路径和目录。

测试暴力探测器

还记得在渗透测试环境搭建那篇文章介绍的虚拟机环境吗?

里面有一个充满漏洞的Web应用http://www.scruffybank.com/,我们可以使用我们刚刚编写好的暴力探测器对这个网站进行一下探测。

字典文件我们先采用一个简单的字典:

我们在命令行运行命令:

得到结果:

common.txt字典中有三个是成功的响应,我们打开其中一个http://www.scruffybank.com/robots.txt看看:

包含了三个禁止搜索引擎爬取的链接,看字面意思,其中一个还是后台地址admin,但是在结果页我们知道/admin是404错误,但是有一个/Admin,我们打开看看:

弹出了认证登录框,但是我们没有用户名和密码,目前来说只能作罢。

我们再使用FUZZDB数据库里的字典测试一下。选择fuzzdb-master/discovery/predictable-filepaths/php目录下的PHP.fuzz.txt:

同样在终端命令行运行命令:

得到结果:

虽然有很多404,但是我们还是发现了一些成功的响应:

比如info.php,打开原来是PHP的info界面:

login.php为登录页面:

phpmyadmin是mysql数据库的web管理入口:

在数据探测收集阶段,我们通过我们自己编写的暴力探测器,获得了这些页面的信息,对分析服务器和web应用的漏洞并进行针对性的渗透有很大的帮助。

用Python打造了一个渗透测试暴力探测器的更多相关文章

  1. docker搭建一个渗透测试环境 bwapp为例

    bwapp是一个渗透测试靶场,他其中中含有100多个Web漏洞  基本涵盖了所有主要的已知Web漏洞,包括OWASP Top 10的各种 首先要去搜索一下  看一下有哪些镜像可以下载    docke ...

  2. 【10.21总结】一个渗透测试练习实例——发现未知的漏洞(Race condition)

    Write-up地址:Exploiting an unknown vulnerability 作者:Abhishek Bundela 这篇文章跟我之前看到的文章不太一样,作者是按照一个练习的方式简单描 ...

  3. 利用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...

  4. 【HTB系列】靶机Teacher的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Kali: 10.10.14.50 靶机地址:10.10.10.153 先用nmap 对 ...

  5. 一款用于对 WiFi 接入点安全进行渗透测试的工具

    越来越多的设备通过无线传输的方式连接到互联网,以及,大范围可用的 WiFi 接入点为攻击者攻击用户提供了很多机会.通过欺骗用户连接到虚假的 WiFi 接入点,攻击者可以完全控制用户的网络连接,这将使得 ...

  6. DVWA渗透测试系列 一 (DVWA环境配置)

    DVWA介绍: DVWA是一个渗透测试靶机系统. DVWA具有十个模块:分别是 Brute Force(暴力破解).Command Injection(命令行注入).CSRF(跨站请求伪造).File ...

  7. PJzhang:Firefox渗透测试插件HackTools样例

    猫宁~~~ firefox插件hacktools地址: https://addons.mozilla.org/zh-CN/firefox/addon/hacktools/ HackTools由Ludo ...

  8. 【HTB系列】靶机Access的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台.它能帮助你提升渗透测 ...

  9. 【HTB靶场系列】靶机Carrier的渗透测试

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台.它能帮助你提升渗透测 ...

随机推荐

  1. github下载速度慢甚至多次失败,通过码云的导入功能导入github项目到码云上,然后再从码云下载

    github下载速度慢甚至多次失败,通过码云的导入功能导入github项目到码云上,然后再从码云下载 参考 https://blog.csdn.net/kcx64/article/details/83 ...

  2. 数据对象如何定义为Java代码示例

    想将数据保存为这样子: [{ "subject": { "code": "B123", "words": [{ &quo ...

  3. 《Linux就该这么学》培训笔记_ch12_使用Samba或NFS实现文件共享

    <Linux就该这么学>培训笔记_ch12_使用Samba或NFS实现文件共享 文章最后会post上书本的笔记照片. 文章主要内容: SAMBA文件共享服务 配置共享资源 Windows挂 ...

  4. Python 3.X 练习集100题 05

    用 *号输出字母 C的图案 方法1: print(" ***** ") print(" ** * ") print(" ** ") prin ...

  5. | C语言I作业04

    | C语言I作业004 标签: 18软件 李煦亮 问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://www.cnblogs.com/pengchen511/p/ ...

  6. python(二)面向对象知识点

    模块 别名 import my_module as xxx(别名) 先导入内置模块 再导入第三方模块 再导入自定义模块 from my_module(导入的文件) import *(变量) __all ...

  7. Java 在 Word 文档中使用新文本替换指定文本

    创作一份文案,经常会高频率地使用某些词汇,如地名.人名.人物职位等,若表述有误,就需要整体撤换.文本将介绍如何使用Spire.Doc for Java,在Java程序中对Word文档中的指定文本进行替 ...

  8. 使用scrapy框架做武林中文网的爬虫

    一.安装 首先scrapy的安装之前需要安装这个模块:wheel.lxml.Twisted.pywin32,最后在安装scrapy pip install wheel pip install lxml ...

  9. Android.mk文件官方使用说明

    本页介绍了 ndk-build 所使用的 Android.mk 编译文件的语法. 概览 Android.mk 文件位于项目 jni/ 目录的子目录中,用于向编译系统描述源文件和共享库.它实际上是编译系 ...

  10. [转] Vue原理解析——自己写个Vue

    一.Vue对比其他框架原理 Vue相对于React,Angular更加综合一点.AngularJS则使用了“脏值检测”. React则采用避免直接操作DOM的虚拟dom树.而Vue则采用的是 Obje ...