分享SRC漏洞挖掘中js未授权漏洞挖掘的小技巧

文章目录

    • 0x1 前言
    • 0x2 js未授权简介
      • 一、什么是未授权?
      • 二、常见的未授权访问漏洞
      • 三、js漏洞挖掘需要获取的几个信息
      • 四、如何挖掘
      • 五、浅谈
    • 0x3浅谈 js未授权挖掘技巧
      • 一、常规js未授权挖掘
      • 二、浅谈交流
    • 0x4 Findsomething应该怎样正确使用?
      • 问题一:findsomething找到的接口能不能直接复制下来当爆破字典使用?
      • 问题二:我们应该如何去跑未授权?
      • 问题三:如何有针对性的提取findsomething内的接口
    • 0x5 查询接口的未授权访问测试奇招
      • 一、构造参数
      • 二、js中接口关键字查到隐藏接口,从而获取内部信息
      • 三、拓展
    • 0x6 总结

0x1 前言

哈喽,师傅们!

这次又来给师傅们分享我的文章心得了呦,这次是给师傅们分享下js未授权漏洞挖掘的一个小技巧的汇总,然后也是会给师傅们分享几个案例,带师傅们更加深刻的理解和看的懂这个js未授权,然后再带师傅们去挖这个漏洞,从怎么挖去带师傅们掌握这个js未授权。

然后特别是给一些不会挖漏洞,然后针对于FindSomething插件工具的使用来做一个分享,让师傅们对呀FindSomething插件的使用更加娴熟,能够更好的利用这个插件,然后让师傅们挖出属于自己的第一个js未授权漏洞!

0x2 js未授权简介

一、什么是未授权?

首先理解什么是未授权漏洞
未授权字面上理解是未获得授权,对于正常的业务来说,有些功能点需要经过登录之后才能进行,那么如果我们通过一些绕过,无需登录也可以完成此类操作,那么便是未授权访问漏洞了。

二、常见的未授权访问漏洞

**常见的未授权漏洞一般分为两种: **

  1. 组件类的,如js未授权、redis未授权、mongodb未授权等,也是比较常见的。对于此类漏洞,可以理解为不需要登录即可执行里面的功能,所以存在未授权漏洞。
  2. WEB层面的,如某某CMS未授权文件上传、未授权创建账号、findsomething接口拼接未授权访问敏感信息泄露等。因为可以绕过登录限制进行操作,所以存在未授权访问漏洞。
    在这里插入图片描述

三、js漏洞挖掘需要获取的几个信息

  1. Js中存在指纹信息

    这里的指纹信息包括前后端框架和插件的版本号信息,Github项目地址等,这时候就可以尝试寻找对应项目的nday或审计源码来寻找突破口

  2. Js泄露接口信息

    Js中存在一些网址或接口信息,特别是一些没展示到页面中的隐藏功能的接口,这些隐藏的接口很有可能存在各种常见的漏洞,例如越权,未授权等,这也是我目前非常喜欢测的一个点

  3. Js泄露敏感信息

    这个也挺常见的,就是Js中包含一些敏感信息,例如账密,个人信息等,从而突破了某些资产,进行深度利用等

  4. Js逆向加解密数据

    通过Js调试来解密站点的一些数据,例如破解sign,数据包中的密文等,获取对应的明文内容,很可能这些明文内容就存在越权等漏洞

四、如何挖掘

查找敏感信息,从网站本身找到格外的信息,如 API接口,js代码,查看源代码看看有没有泄露账号之类的。

api接口 -> 敏感信息泄露 -> 未授权访问
api接口 -> 功能点操作   -> 未授权访问源代码 -> 账号泄露 -> 未授权访问
源代码 -> 前端绕过 -> 未授权访问

五、浅谈

未授权访问的挖掘不是针对所有网站,这只是一种思路,通过信息收集来实现登录绕过,从而达到未授权。正常来说可以通过抓包修改返回值也可以达到绕过,前提是不知道网站代码的判断情况下,可以尝试猜解返回值。如果网站后端认证做好了,是不会有该漏洞的。

0x3浅谈 js未授权挖掘技巧

一、常规js未授权挖掘

问:

我这里先给师傅们出一个情景题,就是你在一个门户站点的登录口,但是呢经过尝试了别的打点方法都没有成功,后面这个站点你该如何进行一个渗透测试呢?

答:

这里就要和师傅们分享下我之前在没有认真研究js未授权的时候,喜欢的一个针对js的一个测试手法。我相信很多师傅应该都是和我一样的思路,就是大家知道且都非常喜欢使用的一个插件findsomething。就是常见的使用findsomething小熊猫头插件打开,然后把里面的泄露的路径进行拼接使用,然后直接拿bp进行POST/GET方法都进行跑一遍,然后再看看有没有什么js路径拼接,然后导致的敏感信息泄露。

然后把插件泄露的js路径保存到一个txt文件夹里面

然后简单的进行GET/POST跑下

然后跑完以后会发现,怎么还是没跑出什么东西来,然后就这样觉得这个js路径很安全,没有漏洞,直接下了
在这里插入图片描述

Google插件FindSomething下载链接:https://chromewebstore.google.com/detail/findsomething/kfhniponecokdefffkpagipffdefeldb

二、浅谈交流

问:

既然人人都知道用Findsomething,那么想问下师傅们用Findsomething的目的是什么呢?

目的:

为了寻找隐藏的接口

JS中存在一些网址或接口信息,特别是隐藏的一些信息,也就是UI中没有的,这些隐藏的
接口很有可能存在各种常见的漏洞,例如越权,未授权等。

如果我们通过JS中的信息构造出完整的隐藏接口和传参,就有可能发现极其隐蔽的漏洞

**问:
**

那像这样直接复制findsomething发现的接口然后粘贴,然后再批量跑GET和POST,这样的测试手法是对的吗?

0x4 Findsomething应该怎样正确使用?

问题一:findsomething找到的接口能不能直接复制下来当爆破字典使用?

师傅们来看下下面的这个接口,是不是可以看到存在一个id参数,那么你要是直接把这个复制下来,然后去使用bp跑,是不是再怎么跑都跑不出什么信息泄露

然后还有就是下面的这个js接口,findsomething显示出来的接口,一个?id=xxx的一个参数,像碰到这样的,我们是不是得提前进行一个数据的处理,然后再放到bp去跑接口,才会最大可能性让你找到一些敏感信息泄露的接口,这样就是有些师傅挖不到js未授权的漏洞,但是有些师傅却可以的原因之一了
在这里插入图片描述

还有下面的这种情况,就是跑js路径的时候,需要我们注意前面是否有前缀
在这里插入图片描述

问题二:我们应该如何去跑未授权?

这里我给师傅们来假设下,如果当前我的页面的链接如下:https://xxx.com/#/user

这里我们需要特别注意的就是#符合,在拼接时需要注意什么。

findsomething查找的结果如下:
在这里插入图片描述

疑问:

1、这个#是什么?

2、这个我应不应该带上?

3、带上和不带上结果会有区别吗?

答:

像上面的存在一个#的路径,建议是师傅们单独把这些js路径给拿出来,进行一个手动拼接尝试看看未授权,或者说要爆破,那也得把这个/#/这个给带上,然后再进行一个爆破,下面简单来拿百度的给师傅们看看这个案例
在这里插入图片描述

下面可以把findsomething的url复制到一个txt文本里面,然后进行替换如下:

问题三:如何有针对性的提取findsomething内的接口

例如在对某个站点进行测试时,最初跑一遍findsomething的接口,并没有收获,来到该
站点某个页面时,猜测存在隐藏功能或高权限功能,最后成功找到该接口,构造传参,从而发现未授权漏洞获取赏金

看这样一个页面,你能想到哪些功能接口?如何快速定位相关接口?

比如上面的这个站点,一个证书查询的功能点,然后下面还有身份证、手机号、发送验证码的一个接口,那么我们就需要联想这个站点可能存在的一个js接口泄露,那么我们可以使用快捷方式,看这个证书查询功能,定位关键字,比如常见的:cert,Certificate,query,idcard,send,sms

就比如下面的这个findsomething查找到的js接口,仔细看看下面的英文意思,特别是info或者list关键字的,特别容易出未授权敏感信息泄露的一个漏洞

那么我们就拿这个/userCertificate/info接口来举例,拿到了接口,然后尝试去拼接url,但是直接页面报错,无法访问,那就说明我们需要去找这个隐藏接口的参数了。

比如使用js进行一个检索,使用F12然后在network上去看,有些隐藏的接口可能会带上传参的参数上去,那么我们就可以打一个js未授权漏洞了

0x5 查询接口的未授权访问测试奇招

一、构造参数

就是我们平常在测试漏洞的时候,有时候不传参,或者在参数置空,发包的时候,对方服务器返回的请求是500的时候,那么有时候使用下面的参数进行一个传参,把这个给加上去,那么有时候会有一个不一样的效果,有时候就能返回一些高权限才可以看的内容

{
"pageNum":"1",
"pageSize":"100"
}
{
"pageNo"1",
"pageSize":100,
}

在这里插入图片描述

二、js中接口关键字查到隐藏接口,从而获取内部信息

这里拿我一个师傅之前的一个案例,给师傅们分享下,这个案例就是我使用findshomething测试接口,然后进行常规的思路接口拼接,然后并没有什么成果
在这里插入图片描述

这里直接使用js代码检索findsomething上面的接口/post/posts/page,然后师傅们可以看到js代码里面的泄露的一个传参?circleld参数,然后我们就可以尝试使用bp抓包,然后去js接口和参数进行拼接,然后打一个js未授权漏洞
在这里插入图片描述

下面是我常用的几个接口关键字,用于寻找Js中的接口信息

type:"POST"
type:"GET"
post("
get("
ashx?
ashx
ur1:
ur1:"
ur1:
path:
path:
path:
action?
data
params

下面是我给师傅们整理的HAE正则匹配,直接使用bp中的hae插件,需要的师傅可以加我,我给师傅们整理了齐全的HAE匹配规则

type:"POST"|type:"GET"|post("|get("|ashx?|ashx|ur1:|ur1:"|ur1:|path:|path:|path:|action?|data|params

在这里插入图片描述

三、拓展

那么哪些场景需要我们去分析Js和接口信息呢?

1、数据的某些应该有的功能点,而页面未展示

例如数据的增删改查,少了某一项

2、没有突破点的页面

例如无法登录的平台,或者进了后台无法使用,再比如空白页面等

3、没有权限的某个功能

某个功能需要更高权限或等级,有可能只是前端郜限制,完全可以尝试拼接去寻找突破口

0x6 总结

针对js未授权漏洞的一个分享呢就到这里文章就结束了,希望这篇文章对师傅们有帮助。

师傅们在挖掘企业src或者edu过程中,这个js未授权和使用FindSomething插件使用去挖掘漏洞来讲,特别是针对小白师傅们是非常友好的,也是蛮建议师傅们看完我的文章然后去进行一个js未授权的一个漏洞挖掘,这样可以让师傅们更加掌握这个技能,也是希望师傅们偶尔挖挖漏洞,然后赚点赏金什么的。

文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/461726.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何保护网站安全

1. 使用 Web 应用防火墙(WAF) 功能:WAF 可以实时检测和阻止 SQL 注入、跨站脚本(XSS)、文件包含等常见攻击。它通过分析 HTTP 流量来过滤恶意请求。 推荐:可以使用像 雷池社区版这样的 WAF,它提…

内感受性注意的电生理特征:频谱和源定位分析

摘要 对内感受信号的关注和有意识地处理能力被认为对最小自我、适应性自我调节和情感体验的发展,以及工具性和执行性认知功能的最佳表现至关重要。然而,尽管关于内感受推论解释的理论非常丰富,但实证证据仍然很少。在此基础上,本…

[OPEN SQL] FOR ALL ENTRIES IN

FOR ALL ENTRIES IN 语句用于从一个内部表中检索与另一个内部表中指定字段匹配的记录 语法格式 SELECT ... FOR ALL ENTRIES IN <itab> WHERE <cond>. <itab>&#xff1a;插入目标数据内表 <cond>&#xff1a;查询条件 使用FOR ALL ENTRY IN 语句时&…

GetX的一些高级API

目录 前言 一、一些常用的API 二、局部状态组件 1.可选的全局设置和手动配置 2.局部状态组件 1.ValueBuilder 1.特点 2.基本用法 2.ObxValue 1.特点 2.基本用法 前言 这篇文章主要讲解GetX的一些高级API和一些有用的小组件。 一、一些常用的API GetX提供了一些高级…

Windows下基于fping进行批量IP测试

fping是Linux下一个很好用的IP测试工具&#xff0c;结合代码可以完成批量的IP测试&#xff0c;在网络调试中用途很广。本文是基于fping for Windows结合bat批处理&#xff0c;定制的测试脚本样例。 一、程序信息 本次测试使用fpingV5.1 for Windows版&#xff0c;版本信息如下…

[MRCTF2020]你传你呢

[MRCTF2020]你传你&#x1f40e;呢 审题 一眼文件上传 知识点 .htaccess文件的作用 <FilesMatch "a.png"> SetHandler application/x-httpd-php </FilesMatch>将a.png当做php文件执行 AddType application/x-httpd-php .jpgAddType 是一个 Apach…

stm32cubeIde 使用笔记

划分flash空间 需要更改STM32xxx_FLASH.ld文件 输出其他格式文件

【Rust中的序列化:Serde(一)】

Rust中的序列化&#xff1a;Serde Serde是什么&#xff1f;什么是序列化序列化&#xff1f;Serde运行机制Serde Data ModelVistor ApiSerializer ApiDeserializer Api 具体示例流程分析具体步骤&#xff1a;那么依次这个结论是如何得出的呢?什么是de? 总结 Serde是什么&#…

【Flask】四、flask连接并操作数据库

目录 前言 一、 安装必要的库 二、配置数据库连接 三、定义模型 四、操作数据库 1.添加用户 2.删除用户 3.更新用户信息 4查询所有用户 五、测试结果 前言 在Flask框架中&#xff0c;数据库的操作是一个核心功能&#xff0c;它允许开发者与后端数据库进行交互&#xf…

手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索)

手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索) 前言 前面的篇章中&#xff0c;我们从理论方向和实际市面上出现的音频线传输声音的方式&#xff0c;讨论绕开手机对SIM卡电话通话声音的封锁场景的可行性&#xff0c;并实际选购几款数字和模拟的USB转接…

安装fpm,解决*.deb=> *.rpm

要从生成 .deb 包转换为 .rpm 包&#xff0c;可以按照以下步骤修改打包脚本 1. 使用 fpm 工具 fpm 是一个强大的跨平台打包工具&#xff0c;可以将 .deb 包重新打包成 .rpm&#xff0c;也可以直接从源文件打包成 .rpm。 安装 fpm sudo apt-get install ruby-dev sudo gem in…

青出于“蓝”的合资第一新能源,“换壳”背后有门道

文/王俣祺 导语&#xff1a;千呼万唤始出来的新能源“马6”终于亮相了&#xff0c;这款马自达EZ-6本以为凭借马自达多年来在国内市场深耕的底蕴可以收获一片支持&#xff0c;但最近却深陷“换壳”风波。那么今天我们就一起看看&#xff0c;这款马自达EZ-6和被冠以“原型”的深蓝…

HT8787B 可任意限幅、内置自适应升压的2x9.0W立体声音频功放

1 特性 ● 可任意配置的限幅功能 自由配置音频限制幅度&#xff0c;使输出音频信号限制在固定失真水平内 ● 内置自动限温控制功能 适应不同散热条件&#xff0c;避免出现过温关断现象 ● 高效自适应G类升压功能&#xff0c;有效延长播放时间 可调节最大限流值&#xff0c;有效…

Ansible基本使用

目录 介绍 安装 inventory-主机清单 分组 子组 modules-模块 command shell script file copy systemd yum get_url yum_repository user mount cron 介绍 ansible是基于python开发的自动化运维工具。架构相对比较简单&#xff0c;仅需通过ssh连接客户机执行…

Java并发常见面试题总结(上)

线程 ⭐️什么是线程和进程? 何为进程? 进程是程序的一次执行过程&#xff0c;是系统运行程序的基本单位&#xff0c;因此进程是动态的。系统运行一个程序即是一个进程从创建&#xff0c;运行到消亡的过程 在 Java 中&#xff0c;当我们启动 main 函数时其实就是启动了一…

38.第二阶段x86游戏实战2-HOOK窗口消息机制(解决多开窗口句柄问题)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

【原创分享】详述中间件的前世今生

中间件是一种软件组件&#xff0c;位于应用程序和操作系统之间&#xff0c;通过提供统一的接口和功能来简化开发和管理应用程序、提高应用程序的可靠性和性能。 中间件的前世可以追溯到20世纪80年代的分布式系统和网络技术的发展。在那个时候&#xff0c;随着计算机网络的普及…

vite+vue3+ts使用vue3-draggable-resizable,可拖动、调整大小的模块库,真的太好用了!

前言&#xff1a;公司业务&#xff1a;在很多地方装了路灯&#xff0c;给路灯做了个管理系统&#xff0c;有管理系统肯定就是增&#xff0c;删&#xff0c;查&#xff0c;改&#xff0c;但是这次改好像有点复杂。给路灯下发指令&#xff0c;可以在路灯的大屏放文字&#xff0c;…

想给视频去背景音乐?简单几步搞定

在数字视频编辑和处理中&#xff0c;去除视频中的背景音乐是一个常见的需求。无论是因为背景音乐与视频内容不符&#xff0c;还是出于版权考虑&#xff0c;掌握视频去背景音乐的方法都显得尤为重要。那么&#xff0c;视频怎么去背景音乐呢&#xff1f;本文将详细介绍几种去除视…