信息打点web篇---前端js打点

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

本文主要整理前端js代码的打点思路

本文只为学习安全使用,切勿用于非法用途。

一切未授权的渗透行为都是违法的。

前端js打点概念与目的

javascript文件属于前端语言,也就是说他的代码都是在前端可见的。通过观察js文件,我们可以从中获取一些网址,接口地址,源码,加密逻辑等信息。

js打点主要面向于核心代码是js写的站点。这类站点的用户信息处理大部分用的js。从js中可以获取到更多的信息。

判断目标网站是否为js网站

插件wappalyzer

源程序代码简短

引入多个js文件

一般有/static/js/app.js等顺序的js文件

一般cookie中有connect.sid

手工js打点

注释信息泄露

我们查看我们响应的数据包即可。

 用开发者工具进行搜索信息。

这里注意我们可以看到他的注释也是一模一样的反馈给我们的。

这也就是说,如果用一些源码,源码会有版权,而很有可能就会写在这些文件里。

不禁是源码,QQ,甚至一些接口,都会直接的写!

而我们可以根据QQ来找作者进而找源码,或者直接拿源码,判断cms,搜cms的漏洞。

从黑盒转化为白盒。

这个就是我找的一个,看他的代码末端。

再如下面的这个:

 不只是这些,还有一个我搜过的网站是把自己的接口整理到里面了。包括了一些支付接口,但是找不到那个站点了。

搜索正文价值信息

运用搜索的功能进行搜索关键字

关键字:
src=
path=
method:"get"
http.get("
method:"post"
http.post("
$.ajax
http://service.httppost
http://service.httpget

利用这些连接关键词可以找一些价值信息。

 说不定就找到了一个本来不应该能直接访问的未授权访问漏洞。

半自动工具打点

burp半自动

burp里面有官方插件js link finder这些搜集js的插件。

插件也比较简单,我就不多赘述了。

因为我习惯使用yakit,所以这里我介绍yakit帮助信息收集的插件。

yakit半自动

使用js-api插件。

 直接输入目标地址跑就行了。

 根据js返回链接。

我们也可以直接输入网址自己看js源码。

确实抓取了重要信息。

使用jsfind插件

用法一样用。

全自动打点

不演示了,跟着命令行输入就行。

ulrfind插件打点

下载地址:GitHub - pingc0y/URLFinder: 一款快速、全面、易用的页面信息提取工具,可快速发现和提取页面中的JS、URL和敏感信息。

使用方法:

显示全部状态码
URLFinder.exe -u http://www.baidu.com -s all -m 3显示200和403状态码
URLFinder.exe -u http://www.baidu.com -s 200,403 -m 3结果分开保存
导出全部
URLFinder.exe -s all -m 3 -f url.txt -o .
只导出html
URLFinder.exe -s all -m 3 -f url.txt -o res.html结果统一保存
URLFinder.exe -s all -m 3 -ff url.txt -o .-a  自定义user-agent请求头  
-b  自定义baseurl路径  
-c  请求添加cookie  
-d  指定获取的域名,支持正则表达式
-f  批量url抓取,需指定url文本路径  
-ff 与-f区别:全部抓取的数据,视为同一个url的结果来处理(只打印一份结果 | 只会输出一份结果) 
-h  帮助信息   
-i  加载yaml配置文件,可自定义请求头、抓取规则等(不存在时,会在当前目录创建一个默认yaml配置文件)  
-m  抓取模式:1  正常抓取(默认)2  深入抓取 (URL深入一层 JS深入三层 防止抓偏)3  安全深入抓取(过滤delete,remove等敏感路由) 
-max 最大抓取数
-o  结果导出到csv、json、html文件,需指定导出文件目录(.代表当前目录)
-s  显示指定状态码,all为显示全部  
-t  设置线程数(默认50)
-time 设置超时时间(默认5,单位秒)
-u  目标URL  
-x  设置代理,格式: http://username:password@127.0.0.1:8877
-z  提取所有目录对404链接进行fuzz(只对主域名下的链接生效,需要与 -s 一起使用)  1  目录递减fuzz  2  2级目录组合fuzz3  3级目录组合fuzz(适合少量链接使用)

插件打点

FindSomething – 下载 🦊 Firefox 扩展(zh-CN)

挖掘更多js文件

我们访问js文件的时候,不会一次性访问所有的js文件。

就比如说,我们登录后跟登录前就会多访问一些js。

但是js是可以直接访问的,那么我们就可以fuzz直接爆破js文件。

ffuf-FUZZ爆破

下载地址:

GitHub - ffuf/ffuf: Fast web fuzzer written in Go

用法:(更为详细的去看官方文档)
ffuf.exe -w 字典 -u 网址/FUZZ -t 线程数

 fuzz是告诉程序在fuzz处进行爆破。

webpack打包器信息打点

webpack打包器简介

他是javascript代码打包器,用于打包javascript代码,所以,网站如果是使用了webpack打包,那么我们就能通过这种方法进行打点。

但是网站没有使用webpack,那么就不能使用这种方法。

使用工具

Packer-Fuzzer工具:

GitHub - rtcatc/Packer-Fuzzer: Packer Fuzzer is a fast and efficient scanner for security detection of websites constructed by javascript module bundler such as Webpack.
 

安装的时候记得安装一下依赖环境。

pip3 install -r requirements.txt

 使用指令:

PackerFuzzer.py -u 网址

结果会返回在repo的一个网页中。

总结

挖掘目标

1.从返回的已知js中提取信息。

2.用fuzz爆破出未知的js信息

3.从框架中提取js信息。

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

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

相关文章

taoCMS v3.0.2 文件上传漏洞(CVE-2022-23880)

前言 CVE-2022-23880是一个影响taoCMS v3.0.2的任意文件上传漏洞。攻击者可以利用此漏洞通过上传特制的PHP文件在受影响的系统上执行任意代码。 漏洞细节 描述: 在taoCMS v3.0.2的文件管理模块中存在任意文件上传漏洞。攻击者可以通过上传恶意的PHP文件来执行任意代码。 影响…

谷粒商城笔记-03-分布式基础概念

文章目录 一,微服务二,集群、分布式三,远程调用四,负载均衡五,服务注册、服务发现、注册中心六,配置中心七,服务熔断、服务降级1,服务熔断2,服务降级3,区别 八…

window自带的远程桌面设置凭证

原视频地址:https://www.bilibili.com/video/BV1YW4y1z7Du/?spm_id_from333.337.search-card.all.click&vd_sourceaeb69151d5ba645d3942f9f19bd6822a 我只是根据原视频做笔记 1、确认你是windows专业版 2、进入电脑->属性 3、取消勾选 4、进入电脑->管…

<Linux> 多线程

文章目录 线程线程互斥锁死锁 线程同步生产者消费者模型POSIX信号量基于环形队列的生产消费模型 线程池 线程 线程是进程内部可以独立运行的最小单位 进程是资源分配的基本单位,线程是调度器调度的基本单位 线程在进程的地址空间内运行 进程内的大部分资源线程是…

苹果电脑内存满了怎么清理空间垃圾 苹果电脑内存不足怎么办 MacBook优化储存空间

在日常使用苹果电脑过程中,某些用户可能经常会遇到存储空间不足的问题,尤其是当硬盘存储了大量的文件。这不仅影响电脑的运行速度,还可能导致应用程序运行不稳定。 一、节省 MacBook Pro 的空间 苹果电脑的操作系统(macOS&#x…

大模型学习笔记3【大模型】LLaMA学习笔记

文章目录 学习内容LLaMALLaMA模型结构LLaMA下载和使用好用的开源项目[Chinese-Alpaca](https://github.com/ymcui/Chinese-LLaMA-Alpaca)Chinese-Alpaca使用量化评估 学习内容 完整学习LLaMA LLaMA 2023年2月,由FaceBook公开了LLaMA,包含7B&#xff0…

springboot @configuration注解的配置, @bean注解方法a, 在@bean注解 getb(){}需要注入a

深度解析Configuration注解 aop和cglib import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class AppConfig {/** cglib重写方法 /Beanpublic A a() {return new A();}/** cglib重写方…

【C++】C++ 值传递,引用传递,指针传递之间的区别

在C中,函数参数的传递方式主要有三种:值传递、引用传递和指针传递。下面我会分别解释这三种方式的区别: 值传递(Pass by Value): 值传递是将实际参数的值复制给函数的形式参数。这意味着函数接收的是原始数据的一个副本…

好用的便签怎么把重要的事项单独窗口显示?

在日常的工作和生活中,便签就像是我身边的小助手,随时记录着琐碎的事项,提醒我别忘了重要的任务。想象一下,早晨一到办公室,打开电脑,桌面上密密麻麻的便签就像一张张待办事项的清单,它们或提醒…

【Python】判断Python版本sys.version_info介绍

一.Python中的sys.version_info参数介绍 sys.version_info是python中sys库中的一个函数,用于判断当前使用的python版本,默认同环境变量配置好的python版本一致。 sys.version_info中有主要几个参数,这里版本号就是第一个参数major&#xff…

JAVA 快递100wms工具类

快递wms工具类 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.kuaidi100.sdk.api.QueryTrack; import com.kuaidi100.sdk.api.Subscribe; import com.kuaidi100.sdk.contant.ApiInfoConstant; import c…

go开源webssh终端源码main.go分析

1.地址: https://github.com/Jrohy/webssh.git 2.添加中文注释地址: https://github.com/tonyimax/webssh_cn.git main.go分析 主包名:main package main //主包名 依赖包加载 //导入依赖包 import ("embed" //可执行文件…

为什么从Java程序粘贴数值到Excel 2024会变为两行?

问题描述 在从Java程序中粘贴一个数值到Excel 2024时,该数值会自动分成两行显示,而在Excel 2021中不会出现这个问题。 可能原因 这个问题可能是由于以下几个原因导致的: 换行符问题: Java程序在输出数据时可能包含了换行符&…

中英双语介绍美国的州:内布拉斯加州(Nebraska)

中文版 内布拉斯加州(Nebraska)位于美国中部,以其广阔的平原、农业生产和丰富的历史遗产而闻名。以下是对内布拉斯加州的详细介绍,包括其地理位置、人口、经济、教育、文化和主要城市。 地理位置 内布拉斯加州东临爱荷华州和密…

解决js对象解构赋值多行格式被prettier格式化为一行的问题

目前没有特别好的解决方法,但是有一个hack方法,就是在第一个解构参数后面加个空注释,骗过prettier。 代码示例如下: const {prop1, //prop2,prop3, } props 欢迎关注公众号:清晰编程,获取更多精彩内容

方向导数和梯度

方向导数和梯度 1 导数的回忆2 偏导数及其向量形式偏导数的几何意义偏导数的向量形式 3 方向导数向量形式几何意义方向导数和偏导的关系 4 梯度5 梯度下降算法 1 导数的回忆 导数的几何意义如图所示: 当 P 0 P_{0} P0​点不断接近 P P P时,导数如下定义…

springboot私人诊所管理系统-计算机毕业设计源码93887

摘要 随着科技的不断发展和医疗服务的日益普及,私人诊所管理系统成为现代医疗管理的重要组成部分。该系统通过引入计算机技术和互联网平台,为患者提供方便快捷的就诊方式,同时也为诊所、医院提供高效的资源管理和服务优化的途径。本文将介绍私…

[Mdp] lc 494. 目标和(01背包变种+dp+dfs)

文章目录 1. 题目来源2. 题目解析1. 题目来源 链接:494. 目标和 2. 题目解析 方法一:dfs 数据量比较小,长度只有 20,那么针对每一个数都有两种选择,正、负,即 2 20 = 100 w 2^{20} = 100w 220=100w 差不多的时间复杂度,dfs 解决即可。时间复杂度: O ( 2 n ) O(2^{n…

RocketMQ 顺序消息

顺序消息 顺序消息为云消息队列 RocketMQ 版中的高级特性消息,本文为您介绍顺序消息的应用场景、功能原理、使用限制、使用方法和使用建议。 应用场景 在有序事件处理、撮合交易、数据实时增量同步等场景下,异构系统间需要维持强一致的状态同步&#…

前后端交互常用的时间敏感算法

前后端交互常用的时间敏感算法 前后端交互中涉及时间敏感的算法主要用于确保数据传输的安全性、有效性和同步性。以下是一些常见的时间敏感算法和技术: 1. 基于时间戳的签名算法(HMAC): 描述: HMAC(哈希…