大兴网站建设价格,怎样建设好网站,久久建筑网是山东省的吗,网站模板修改软件本篇将会涉及#xff1a;
资源探测一个有用的字典资源第一个暴力探测器
资源探测
资源探测在渗透测试中还是属于资源的映射和信息的收集阶段。 主要有以下三个类型#xff1a;
字典攻击暴力破解模糊测试
字典攻击#xff0c;在破解密码或密钥的时候#xff0c;通过自定…本篇将会涉及
资源探测一个有用的字典资源第一个暴力探测器
资源探测
资源探测在渗透测试中还是属于资源的映射和信息的收集阶段。 主要有以下三个类型
字典攻击暴力破解模糊测试
字典攻击在破解密码或密钥的时候通过自定义的字典文件有针对性地尝试字典文件内所有的字典组合。
暴力破解也叫做穷举法按照特定的组合进行枚举所有的组合。简单来说就是将密码进行逐个推算直到找出真正的密码为止。
模糊测试指通过向目标系统提供非预期性的输入并监视其发生的异常结果来发现目标系统的漏洞。
资源探测的作用
通过资源探测我们可以在目标系统中发现文件、目录、活动、服务还有相关的参数为下一步的行动提供信息参考。
一个开源的模糊测试数据库
github.com/fuzzdb-proj… 是一个开源的漏洞注入和资源发现的原语字典。其提供了攻击、资源发现和响应分析的资源。 第一个暴力探测器
在之前的章节我们了解了使用Python进行HTTP请求的方法在本章我们了解的资源探测的作用的用途。接下面我们就利用Python编写一个资源探测器用来对Web网站进行资源探测。
我们将上面介绍的开源模糊测试数据库FUZZDB从github上克隆或下载下来 这个数据库会作为我们的资源探测器的字典来对web站点进行针对性的探测。
新建一个Python文件开始我们的暴力探测器的编写。
首先引入相关的模块
# coding:utf-8import requests
from threading import Thread
import sys
import getoptrequests用于请求目标站点threading用于启用多线程sys用于解析命令行参数getopt用于处理命令行参数
然后定义一个程序的横幅
# 程序标识
def banner():print(\n********************)name ______ _ _|___ / (_) | |/ / _ __ ___ _ ___| |_ ___ _ __/ / | _ _ \| / __| __/ _ \ __|/ /__| | | | | | \__ \ || __/ |/_____|_| |_| |_|_|___/\__\___|_|print(name)print(州的先生-暴力发掘器 v0.1)print(***********************)这个横幅用于在程序启动的时候显示出来除了让程序个性一点之外也没啥用。
再定义一个函数用来显示程序的用法
# 程序用法
def usage():print(用法)print( -w:网址 (http://wensite.com/FUZZ))print( -t:线程数)print( -f:字典文件)print(例子bruteforcer.py -w http://zmister.com/FUZZ -t 5 -f commom.txt)我们的程序因为是在命令行下运行的所以需要设置一些参数在这里我们用
-w来指定网址-t 来指定线程数-f来指定字典文件
这三个参数缺一不可。
这两个函数创建好后运行程序便会出现如下界面 看上去是不是有那么点意思。
接着我们创建一个继承于Thread的类request_performer()用于创建线程并向目标站点发起请求以及获取响应
class request_performer(Thread):def __init__(self,word,url):Thread.__init__(self)try:self.word word.split(\n)[0]self.urly url.replace(FUZZ,self.word)self.url self.urlyexcept Exception as e:print(e)def run(self):try:r requests.get(self.url)print(self.url,-,str(r.status_code))i[0] i[0] -1except Exception as e:print(e)在request_performer()类的run()方法里面我们利用requests对URL进行请求并将响应的状态码打印出来。而这就是我们这个探测器的最主要功能了。
再创建一个启动request_performer()类的函数launcher_thread()用于遍历字典文件中的关键字组合成URL并生成新的线程。
def launcher_thread(names,th,url):global ii []resultlist []i.append(0)while len(names):try:if i[0] th:n names.pop(0)i[0] i[0]1thread request_performer(n,url)thread.start()except KeyboardInterrupt:print(用户停止了程序运行。完成探测)sys.exit()return True继续创建一个函数start()用于接收命令行中的参数将其传递给launcher_thread()函数
def start(argv):banner()if len(sys.argv) 5:usage()sys.exit()try:opts,args getopt.getopt(sys.argv[1:],w:t:f:)except getopt.GetoptError:print(错误的参数)sys.exit()for opt,arg in opts:if opt -w:url argelif opt -f:dicts argelif opt -t:threads int(arg)try:f open(dicts,r)words f.readlines()except Exception as e:print(打开文件错误,dicts,\n)print(e)sys.exit()launcher_thread(words,threads,url)最后当然是在主程序中运行了
if __name__ __main__:try:start(sys.argv[1:])except KeyboardInterrupt:print(用户停止了程序运行。完成探测)咱们这个程序到底有什么用呢 在这里我们不得不再提一下上面提及过的FUZZDB数据库。fuzzdb是一个用于模糊测试的数据库类似于一个庞大的字典。而这些字典的内容呢都是安全大神们维护的、在实践中发现很有可能会是攻击点的目录或路径。
我们可以打开数据库中的一个txt文件看看 这是一个针对wordpress博客系统插件的一个字典这里面都是插件的路径和目录。
测试暴力探测器
还记得在渗透测试环境搭建那篇文章介绍的虚拟机环境吗 里面有一个充满漏洞的Web应用www.scruffybank.com/我们可以使用我们刚刚… 字典文件我们先采用一个简单的字典 我们在命令行运行命令
python3 brutediscovery.py -w http://www.scruffybank.com/FUZZ -t 5 -f common.txt得到结果 common.txt字典中有三个是成功的响应我们打开其中一个www.scruffybank.com/robots.txt看… 包含了三个禁止搜索引擎爬取的链接看字面意思其中一个还是后台地址admin但是在结果页我们知道/admin是404错误但是有一个/Admin我们打开看看 弹出了认证登录框但是我们没有用户名和密码目前来说只能作罢。
我们再使用FUZZDB数据库里的字典测试一下。选择fuzzdb-master/discovery/predictable-filepaths/php目录下的PHP.fuzz.txt 同样在终端命令行运行命令
python3 brutediscovery.py -w http://www.scruffybank.com/FUZZ -t 5 -f PHP.fuzz.txt得到结果 虽然有很多404但是我们还是发现了一些成功的响应 比如info.php打开原来是PHP的info界面 login.php为登录页面 phpmyadmin是mysql数据库的web管理入口 在数据探测收集阶段我们通过我们自己编写的暴力探测器获得了这些页面的信息对分析服务器和web应用的漏洞并进行针对性的渗透有很大的帮助。
在接下来的文章里我们将丰富和完善我们编写的渗透测试工具的功能。 敬请期待
如果你对Python感兴趣想要学习python这里给大家分享一份Python全套学习资料都是我自己学习时整理的希望可以帮到你一起加油
有需要的小伙伴可以V扫描下方二维码免费领取
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频有了这些视频轻轻松松上手Python~
③练习题
每节视频课后都有对应的练习题哦可以检验学习成果哈哈
2️⃣国内外Python书籍、文档
① 文档和书籍资料 3️⃣Python工具包项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了每个都有详细的安装教程保证你可以安装成功哦
②Python实战案例
光学理论是没用的要学会跟着一起敲代码动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。100实战案例源码等你来拿
③Python小游戏源码
如果觉得上面的实战案例有点枯燥可以试试自己用Python编写小游戏让你的学习过程中增添一点趣味
4️⃣Python面试题
我们学会了Python之后有了技能就可以出去找工作啦下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂并且有阿里大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。
上述所有资料 ⚡️ 朋友们如果有需要的可以扫描下方二维码免费领取