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

安全学习DAY14_JS信息打点

信息打点——前端JS框架

文章目录

  • 信息打点——前端JS框架
  • 小节概述-思维导图
  • JS安全概述
    • 什么是JS渗透测试?
    • 前后端差异
    • JS安全问题
    • 流行的Js框架
    • 如何判定JS开发应用?
  • 测试方法(JS文件的获取以及分析方法
    • 1、手工搜索分析
    • 2、半自动Burp分析
      • 插件介绍
    • 3、自动化项目分析
        • Jsfinder-从网站加载的JS中提取URL或者敏感数据
        • URLFinder-从网站加载的JS中提取URL或者敏感数据
        • JSINFO-SCAN-从表现中JS中提取URL或者敏感数据
        • FindSomething-从表现中JS中提取URL或者敏感数据
        • FUZZ爆破找到更多的js文件分析更多的信息
        • Packer-Fuzzer-针对JS框架开发打包器Webpack检测
  • 补充:

小节概述-思维导图

请添加图片描述

JS打点对于挖SRC、挖漏洞很有帮助,是比较常见的一种

本节内容:

1、JS前端架构-识别&分析

2、JS前端架构-开发框架分析

3、JS前端架构-打包器分析

4、JS前端架构-提取&FUZZ

本节解决的问题:

1、如何从表现中的JS提取价值信息

2、如何从地址中FUZZ提取未知的JS文件

3、如何从JS开放框架WebPack进行测试

JS安全概述

什么是JS渗透测试?

​ 在Javascript中也存在变量和函数,当存在可控变量及函数调用即可能出现参数漏洞。

​ JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有源代码,也可以通过浏览器的查看源代码获取真实的点。获取URL,获取JS敏感信息,获取代码传参等,所以相当于JS开发的WEB应用属于白盒测试(默认有源码参考),一般会在JS中寻找更多的URL地址在JS代码逻辑(加密算法,APIkey配置,验证逻辑等)进行后期安全测试。

前后端差异

前提:WEB应用可以采用前端或后端开发语言

后端语言:php、Java、python、.NET 浏览器看不到真实的源码,源码在服务器上

前端语言:JavaScript(JS)和 JS框架 浏览器端可以看到真实的源代码(不代表不安全)

例子:

zblog博客网站:核心功能采用PHP语言去传输接收

vue.js:核心功能采用框架语法(JS)传输接收

JS安全问题

源码泄漏

未授权访问=JS里面分析更多的URL访问确定接口路径

敏感key泄漏=JS文件中可能配置了接口信息(云应用,短信,邮件,数据库等)

API接口安全=(代码中加密提交参数传递,更多的URL路径)

流行的Js框架

Vue、NodeJS、jQuery、Angular等

如何判定JS开发应用?

  • 插件wappalyzer

  • 源程序代码简短

  • 引入多个js文件

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

  • 一般cookie中有connect.sid

测试方法(JS文件的获取以及分析方法

1、手工搜索分析

手工搜索分析即在浏览器上审查元素,自己找网站加载的js文件,在其中分析

时间长,分析起来麻烦,但是精准

搜索关键字以获取价值信息:

相关可能会有价值的关键字:

src=

path=

method:“get”

http.get("

method:“post”

http.post("

$.ajax

http://service.httppost

http://service.httpget

2、半自动Burp分析

(时间稍短,分析不是很精准)

自带功能:Target->sitemap->Engagement tools->Find scripts

官方插件:JS Link Finder & JS Miner

第三方插件:HaE & Unexpected_information

插件加载器:jython-standalone-2.7.2

burp插件扫,找到泄露的敏感信息,电话号码,邮箱等,即低危漏洞

插件介绍

Unexpected_information:https://github.com/ScriptKid-Beta/Unexpected_information

用来标记请求包中的一些敏感信息、JS接口和一些特殊字段,

防止我们疏忽了一些数据包,使用它可能会有意外的收获信息。

HaE:

https://github.com/gh0stkey/HaE

https://raw.githubusercontent.com/gh0stkey/HaE/gh-pages/Config.yml 规则下载地址

基于BurpSuite插件JavaAPI开发的请求高亮标记与信息提取的辅助型插件。该插件可以通过自定义正则的方式匹配响应报文或请求报文,可以自行决定符合该自定义正则匹配的相应请求是否需要高亮标记、信息提取。

3、自动化项目分析

时间短,分析不太精准

Jsfinder-从网站加载的JS中提取URL或者敏感数据

https://github.com/Threezh1/JSFinder

一款用作快速在网站的js文件中提取URL,子域名的工具

老牌的,用的多,但是功能一般

URLFinder-从网站加载的JS中提取URL或者敏感数据

https://github.com/pingc0y/URLFinder

一款用于快速提取检测页面中JS与URL的工具。

功能类似于JSFinder,但JSFinder好久没更新了。

JSINFO-SCAN-从表现中JS中提取URL或者敏感数据

https://github.com/p1g3/JSINFO-SCAN

递归爬取域名(netloc/domain),以及递归从JS中获取信息的工具

FindSomething-从表现中JS中提取URL或者敏感数据

https://github.com/momosecurity/FindSomething

该工具是用于快速在网页的html源码或js代码中提取一些有趣的信息的浏览器插件,

包括请求的资源、接口的url,请求的ip和域名,泄漏的证件号、手机号、邮箱等信息。

FUZZ爆破找到更多的js文件分析更多的信息

https://github.com/ffuf/ffuf

字典下载站点:

https://wordlists.assetnote.io

功能强大的模糊化工具,用它来FUZZ模糊化js文件。

ffuf.exe -w 字典文件.txt -u URL/FUZZ -t 200

Packer-Fuzzer-针对JS框架开发打包器Webpack检测

https://github.com/rtcatc/Packer-Fuzzer

一款针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具

补充:

CMS

Discuz、WordPress、Ecshop、蝉知等

前端技术

HTML5、jquery、bootstrap、Vue等

开发语言

PHP、JAVA、Ruby、Python、C#,JS等

Web服务器

Apache、Nginx、IIS、lighttpd,Apache等

应用服务器:

Tomcat、Jboss、Weblogic、Websphere等

数据库类型:

Mysql、SqlServer、Oracle、Redis、MongoDB等

操作系统信息

Linux、windows等

应用服务信息:

FTP、SSH、RDP、SMB、SMTP、LDAP、Rsync等

CDN信息

帝联、Cloudflare、网宿、七牛云、阿里云等

WAF信息

创宇盾、宝塔、ModSecurity、玄武盾、OpenRASP等。

蜜罐信息:

HFish、TeaPot、T-Pot、Glastopf等

其他组件信息

fastjson、shiro、log4j、OA办公等

相关文章:

安全学习DAY14_JS信息打点

信息打点——前端JS框架 文章目录 信息打点——前端JS框架小节概述-思维导图JS安全概述什么是JS渗透测试?前后端差异JS安全问题流行的Js框架如何判定JS开发应用? 测试方法(JS文件的获取以及分析方法1、手工搜索分析2、半自动Burp分析插件介绍…...

windows下配置vue开发环境

安装nodejs,配置npm 1.下载安装包:下载地址:https://nodejs.org/en/download 2.安装node:下载完成后进行安装,记住安装的文件夹。本人安装路径为 D:\Program Files\nodejs 3.配置环境变量: ①安装完成后…...

AndroidTV 获取焦点View放大效果实现方式

需求 电视开发最常见的就是view获焦后要有放大效果,让用户明显看到。这里总结两个实现方法,以后遇到其他的再补充。 方式一:ViewCompat.animate(view) 1、注册焦点变化监听 mBtnFocus1.setOnFocusChangeListener(this);2、有焦点变化的时…...

访问者模式——操作复杂对象结构

1、简介 1.1、概述 访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分。这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。访问者模式使得用户可以在不修改现有系统的情况下扩展系…...

指针经典笔试题强训(附图详解)

目录 笔试题1: 解析: 运行结果: 笔试题2 解析: 运行结果: 笔试题3 解析: 运行结果: 笔试题4 解析: 运行结果: 笔试题5 解析: 运行结果:…...

Python:列表(list)与元组(tuple)

列表与元组 列表:list元组:tuple 比较直观的区分:列表是中括号"[ ]“,元组是小括号”( )"元组可以看成列表的只读形式 # 列表 list1 [hello, world] list2 [1, 2, 3, 4, 5] list3 ["a", "b", &…...

常见的相似性度量方法

有如下几种计算相似性方法: 点积相似度 X ⋅ Y ∣ X ∣ ∣ Y ∣ c o s θ ∑ i 1 n x i ∗ y i \begin{aligned} X \cdot Y & |X||Y|cos\theta \\ & \sum_{i1}^n x_i * y_i \end{aligned} X⋅Y​∣X∣∣Y∣cosθi1∑n​xi​∗yi​​ 向量内积的结果是没…...

Day06-JS高级编程

Day01-JS高级编程 一 变量和常量 1 概念 在程序中,变量是值可以改变的量,常量是值不可以改变的量 在ES6以前变量的创建使用var关键字 (可以创建多个同名变量) 从ES6开始变量的创建推荐使用let关键字 (不可以创建多个同名变量) 从ES6开始常量的创建使用const关键 (不可以创建…...

针对高可靠性和高性能优化的1200V硅碳化物沟道MOSFET

目录 标题:1200V SiC Trench-MOSFET Optimized for High Reliability and High Performance摘要信息解释研究了什么文章创新点文章的研究方法文章的结论 标题:1200V SiC Trench-MOSFET Optimized for High Reliability and High Performance 摘要 本文详…...

开发框架软件公司:与之携手,共同开启办公流程化之路!

在快节奏的社会里,如何提高企业的办公效率?如何让各部门之间的协作关系更为顺畅?如何把企业内部的数据真正利用起来,成为高层做出经营决策的重要依据?其实,要做到这些,与开发框架软件公司联手合…...

openCV C++环境配置

文章目录 一、openCV 安装二、新建项目三、配置环境变量四、测试使用 编译器:vs2017 OpenCV:4.5.4 一、openCV 安装 将openCV安装到一个路径下,我安装到了D盘根目录下 二、新建项目 在vs2017新建控制台空项目,打开项目属性 在VC目录 -> 包含目录下…...

8.3 作业 c高级

1.递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位&#xff1a; #include<myhead.h>void print_digit(int num) {if(num<10){printf("%d",num);puts("");}else{print_digit(num/10); //递归打印除最后一位外的数printf("%…...

django实现部门表的增删改查界面

1、前期准备 部署好mysql数据库&#xff0c;创建好unicom数据库下载好bootstap的插件下载好jquery的插件下载好mysqlclient-1.4.6-cp36-cp36m-win_amd64.whl的安装包&#xff0c;根据python的版本下载 2、创建项目 在pycharm中创建项目 在pycharm的终端创建虚拟环境 py -m v…...

Tomcat的介绍和安装配置、eclipse中动态web项目的创建和运行、使用IDEA创建web项目并运行

一、Tomcat的介绍和安装配置 安装tomcat&#xff1a; 环境变量的配置&#xff1a; 配置之后重启cmd&#xff0c;执行startup命令&#xff0c;启动tomcat 在localhost:8080&#xff0c;能进入tomcat主界面&#xff0c;说明配置成功 二、eclipse中动态web项目的创建和运行 tomca…...

idea操作——已经push到远程的代码回滚(不保留本地更改)

1. git&#xff1a; 2. 找到相应分支--->找到要回滚的代码的位置----->右键&#xff0c;然后选择如图的选项&#xff1a; 3.下图的选项选择hard&#xff0c;然后选择reset 4.操作完成后等一会&#xff0c;待同步结束后push代码到远程&#xff0c;选择force push.&#xf…...

无涯教程-Lua - 垃圾回收

Lua使用自动内存管理&#xff0c;该管理使用基于Lua内置的某些算法的垃圾回收。 垃圾收集器暂停 垃圾收集器暂停用于控制垃圾收集器之前需要等待多长时间&#xff1b; Lua的自动内存管理再次调用它。值小于100意味着Lua将不等待下一个周期。同样&#xff0c;此值的较高值将导…...

DP(各种模型)

数字三角形模型 摘花生 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图)&#xff0c;从西北角进去&#xff0c;东南角出来。 地里每个道路的交叉点上都有种着一株花生苗&#xff0c;上面有若干颗花生&#xff0c;经过一株花生苗就…...

开学在即,这个超好用的中小学新生录取查询系统制作方法值得借鉴

即将开学&#xff0c;中小学负责招生的老师面临着新学年的招生工作。这是一项紧迫且重要的任务&#xff0c;需要老师们迅速而有效地应对。在新生录取过程中&#xff0c;有几个关键任务需要尽快完成。 首先&#xff0c;老师们需要录入新生的成绩信息。这包括学生的考试成绩、综…...

使用Canvas裁剪图片

使用Canvas裁剪图片 概述 在Web开发中&#xff0c;我们经常需要对图片进行裁剪&#xff0c;以满足不同尺寸需求或者实现图片的局部展示。本篇博客将带您深入了解如何使用Canvas技术来实现图片的裁剪功能。我们将通过一个实例来演示如何利用Canvas绘制图片&#xff0c;并通过蒙…...

JavaScript |(三)内建对象 | 数组 | string对象 | 尚硅谷JavaScript基础实战

学习来源&#xff1a;尚硅谷JavaScript基础&实战丨JS入门到精通全套完整版 文章目录 &#x1f4da;数组&#x1f407;数组介绍⭐️数组&#xff08;Array&#xff09;⭐️基本操作⭐️数组的字面量 &#x1f407;数组中的常用方法⭐️push()⭐️pop()⭐️unshift()⭐️shif…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏&#xff0c;有着深厚的文化底蕴。通过将五子棋制作成网页游戏&#xff0c;可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家&#xff0c;都可以通过网页五子棋感受到东方棋类…...