当前位置: 首页 > news >正文

小迪安全v2023学习笔记(七十六讲)—— Fuzz模糊测试口令爆破目录爆破参数爆破Payload爆破

文章目录

  • 前记
  • WEB攻防——第七十六天
    • Fuzz模糊测试篇&JS算法口令&隐藏参数&盲Payload&未知文件目录
      • Fuzz知识
        • 含义
        • Fuzz的核心思想
        • Fuzz应用场景
        • Fuzz应用
        • Fuzz字典项目
      • Fuzz技术 - 用户口令-常规&模块&JS插件
        • 常规
        • 模块
        • JS插件
          • JsEncrypter
          • BurpCrypto
      • Fuzz技术 - 目录文件-目录探针&文件探针
      • Fuzz技术 - 未知参数名-文件参数&隐藏参数
      • Fuzz技术 - 构造参数值-漏洞攻击恶意Payload
      • Fuzz技术 - SRC泄露未授权案例分享
        • Fuzz手机加验证码突破绕过
        • Fuzz访问URL挖未授权访问
        • Fuzz密码组合规则信息泄露

前记

  • 今天是学习小迪安全的第七十六天,本节课是关于Fuzz模糊测试篇章的内容,主要围绕弱口令文件目录参数名参数值爆破展开
  • 本节课以理解思想为主,当然也需要了解BP爆破模块的详细使用

WEB攻防——第七十六天

Fuzz模糊测试篇&JS算法口令&隐藏参数&盲Payload&未知文件目录

Fuzz知识

含义
  • 是一种基于黑盒的自动化软件模糊测试技术,简单的说一种懒惰且暴力的技术融合了常见的以及精心构建的数据文本进行网站、软件安全性测试。
Fuzz的核心思想
  • 口令Fuzz(弱口令)
  • 目录Fuzz(漏洞点)
  • 参数Fuzz(利用参数)
  • PayloadFuzzBypass
Fuzz应用场景
  • 爆破用户口令
  • 爆破敏感目录
  • 爆破文件地址
  • 爆破未知参数名
  • Payload测漏洞(绕过等也可以用)
Fuzz应用
  • 在实战黑盒中,目标有很多没有显示或其他工具扫描不到的文件或目录等,我们就可以通过大量的字典 Fuzz 找到的隐藏的文件进行测试
  • 其实就是先使用工具扫描,如果没有结果,再尝试Fuzz测试
Fuzz字典项目
  • fuzzdb:FuzzDB 的创建是为了增加通过动态应用程序安全测试发现应用程序安全漏洞的可能性。它是第一个也是最全面的开放字典,其中包含故障注入模式、可预测的资源位置和用于匹配服务器响应的正则表达式。
  • fuzzDicts:Web Pentesting Fuzz 字典,一个就够了。
  • SecLists:SecLists 是安全测试人员的伴侣。它是安全评估期间使用的多种类型列表的集合,收集在一个位置。列表类型包括用户名、密码、URL、敏感数据模式、模糊测试负载、Web shell 等等。目标是使安全测试人员能够将此存储库拉到新的测试框中,并可以访问可能需要的每种类型的列表。

Fuzz技术 - 用户口令-常规&模块&JS插件

常规
  • 这里用之前的niushop来作为演示案例,进入他的后台,我们尝试登录几次,看看有没有验证码或者其他限制,这里没有限制,那我们就可以尝试去爆破口令了
    在这里插入图片描述

  • 打开BP抓包,然后转到Intruder模块:
    在这里插入图片描述

  • 然后导入我们的弱口令字典,开始爆破:
    在这里插入图片描述
    在这里插入图片描述

  • 然后我们可以根据返回的长度或者状态码来看哪个密码是正确的,这里就是和其他明显不同的就是正确的密码
    在这里插入图片描述

  • 当然,爆破的时候最好还是挂个代理池

模块
  • 这里针对的其实就是网站对账号或密码做了一些加密处理,但是这个加密都是模块化的加密或编码md5urlbase64

  • 那么此时采用BP爆破的时候就需要对传入的参数也进行同样的加密/编码处理,以zblog网站为例(之前搭过):
    在这里插入图片描述

  • 我们尝试登录,然后很明显的看到这里有个md5加密,那我们直接抓包转到Inturder设置爆破参数,并设置Payload处理模块,选择md5处理:
    在这里插入图片描述

  • 然后开始爆破,同样还是看长度和响应码判断密码是否正确:
    在这里插入图片描述

JS插件
  • 这里针对的是网站采用JS前端加密的形式,之前在第六十三天的时候已经讲过了该怎么对传入的参数进行处理,这里就再次演示一遍,并且介绍一个新的插件

  • 我们处理所用的两个插件为:

    • JsEncrypter:本插件使用phantomjs启动前端加密函数对数据进行加密,方便对加密数据输入点进行fuzz,比如可以使用于前端加密传输爆破等场景。
    • BurpCrypto:Burpcrypto 是 burpsuite 加密插件的集合,支持 AES/RSA/DES/ExecJs(在 burpsuite 中执行 JS 加密代码)。
  • 然后案例依旧是之前的交我算平台,我们随便输入一个账号密码尝试登录,f12可以看到数据包中的密码是加密的:
    在这里插入图片描述

  • 查看发起程序,然后找到这个地方:
    在这里插入图片描述

  • 很明显这就是他的一个加密逻辑,我们将鼠标放到这个encrypt()函数上可以看到它的加密js文件为JSEncrypt.js
    在这里插入图片描述

  • 此时我们可以点进去把他复制下来,然后再把这里的主要加密逻辑复制下来,丢到在线网站上看看能否成功加密:
    在这里插入图片描述

  • 确实能够成功执行,那么现在我们就使用上面介绍的两个插件分别对Payload进行处理然后传参

JsEncrypter
  • 首先将网站中的js加密代码下载到本地,然后打开phantom_server.js文件,导入该js加密文件:
    在这里插入图片描述

  • 然后在下面写一个新的函数,将网站中的加密代码写入:
    在这里插入图片描述

  • 保存文件,运行phantom.exe

.\phantomjs.exe .\phantomjs_server.js

在这里插入图片描述

  • 最后登录然后BP抓包,转到Inturder模块,设置参数,并设置Payload处理逻辑:
    在这里插入图片描述
    在这里插入图片描述

  • 然后进行爆破,可以看到payload正常被加密:
    在这里插入图片描述

BurpCrypto
  • 如果不想像上面这个插件一样复杂,可以直接使用BurpCrypto这个插件,选择Exec Js模块,填入网站的JS加密代码

  • 跟着小迪上面的来即可,Js Method Name那里填入方法名,然后选中HtmlUnit,最后添加进程
    在这里插入图片描述

  • 然后还是来到刚才的地方,这里我们添加创建的BurpCrypto进程:
    在这里插入图片描述

  • 同样开始爆破,可以看到也是能够成功加密的:
    在这里插入图片描述

Fuzz技术 - 目录文件-目录探针&文件探针

  • 其实还是通过爆破的方式去猜网站存在哪些隐藏的目录,很多目录扫描的工具就是这个原理

  • 比如这里我们找自己本地随便搭的一个网站模拟演示:
    在这里插入图片描述

  • BP抓包转到Inturder模块,然后这里一般是先看根目录,然后逐层爆破:
    在这里插入图片描述
    在这里插入图片描述

  • 然后开始爆破,看状态码:
    在这里插入图片描述

  • 可以看到找到了很多隐藏的php文件,增加了我们的攻击面

Fuzz技术 - 未知参数名-文件参数&隐藏参数

  • 其实这个还是通过BP字典去爆破出某个文件可能存在的参数,比如还是这个网站,我们比如爆破出了test.php文件,那就可以爆破看看它存不存在传参
  • 假设这个文件的代码如下:
<?php  
$cmd = $_GET['do'];  
if(!isset($cmd)) {  echo "<h1>请输入参数</h1>";  
} else {  system($cmd);  
}
  • 直接通过刚刚抓到的包,然后在后面随便写一个参数以及参数值:
    在这里插入图片描述

  • 然后直接通过字典爆破:
    在这里插入图片描述

  • 通过回显的长度可以成功爆破到该参数为do,然后我们就知道了存在这个参数

  • 但是这种爆破方式只适合输入正确参数和错误参数回显页面有差异的情况,否则就不能用这种方法

Fuzz技术 - 构造参数值-漏洞攻击恶意Payload

  • 在上面爆破出参数名的基础上,我们可以继续尝试去爆破Payload,比如Sql注入、XSSRCE等等

  • 这里就是RCEPayload,实战中需要全部尝试的:
    在这里插入图片描述
    在这里插入图片描述

  • 当然,这里如果是POST或者其他的提交方式,也可以尝试爆破,反正任何地方都可以去尝试

Fuzz技术 - SRC泄露未授权案例分享

Fuzz手机加验证码突破绕过
  • 找到一个登录站点:
    在这里插入图片描述

  • 随便输入一个手机号提示,必须提供已经绑定过账号的手机号才能成功发送验证码:
    在这里插入图片描述

  • 这里就可以尝试Fuzz电话号码,BP抓包可以看到有提示:
    在这里插入图片描述

  • 然后转发到Intruder模块,设置Fuzz参数值为数字:
    在这里插入图片描述

  • 然后通过爆破我们就成功爆破出了一个可用的手机号:
    在这里插入图片描述

  • 然后就可以结合前几节课绕过验证码的方式去尝试绕过手机验证码,登录到后台

Fuzz访问URL挖未授权访问
  • 在对某系统测试时发现后台地址为https://xxx/?m=index,然后我们就可以通过Fuzz去进一步地测试有没有其他的目录:
    在这里插入图片描述

  • 这里就找到了一个view目录,然后尝试访问,成功获取到一些敏感信息:
    在这里插入图片描述

Fuzz密码组合规则信息泄露
  • 比如我们知道了密码的一个组合规则,就可以尝试去进行Fuzz对应账号的密码:
    在这里插入图片描述

  • 这里知道了它的密码组合为 “xxx#身份证后六位”,那么就可以抓包然后爆破:
    在这里插入图片描述

  • 也是成功找到了密码并登录成功:
    在这里插入图片描述
    在这里插入图片描述

  • 之后就可以测系统内的东西了

http://www.xdnf.cn/news/1446085.html

相关文章:

  • uniapp 开发上架 iOS App全流程
  • uni-app iOS 文件管理与 itools 配合实战,多工具协作的完整流程
  • 如何选择适合企业的海外智能客服系统:6 大核心维度 + 实战选型指南
  • 集成运算放大器的作用、选型和测量指南-超简单解读
  • 4 款音分轨工具推荐:制片帮领衔,轻松搞定音频分离
  • 实现信号的小波分解和重构
  • 7.5el-tree 组件详解
  • 创建消息队列,完成信息传输
  • MySQL索引分类
  • 英语四级学习指南
  • A*(Astar)算法详解与应用
  • 电池分选机的自动化解决方案|深圳比斯特
  • SQLAlchemy ORM 入门教程
  • 马斯克砸钱造AI,却败给最low的“让离职员工轻松拷走代码”
  • MyHeyGen-开源版HeyGen,视频翻译工具
  • 平衡车 - 电机调速
  • HI3516CV610-00S 海思HI3516CV610安防高清视频编解码方案提供开发板
  • Nature Machine Intelligence 基于强化学习的磁性微型机器人自主三维位置控制
  • 物联网能源管控平台建设方案
  • 概率质量/密度函数、累计分布函数详解
  • github存储代码(上传更新删除)--实操版
  • 需求调研与分析
  • 最佳红米手机数据擦除软件
  • 场景题:如果一个大型项目,某一个时间所有的CPU的已经被占用了,导致服务不可用,我们开发人员应该如何使服务器尽快恢复正常
  • 2025年家装设计软件推荐:告别选择困难,轻松打造梦想之家
  • C++的内存和数组的申请释放
  • 对数似然比(LLR)
  • C/C++ 中的inline(内联函数关键字)详解
  • 功能持续优化,应用商店新增CRM分类,1Panel v2.0.10版本正式发布
  • VMware Workstation 磁盘空间不足扩容