安全学习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办公等

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

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

相关文章

problem(3):python IDE和python解释器

为什么写这篇文章呢?遇到了下面的问题,相同的解释器,如果运行angr库的代码,会出现 这样的情况,但是用spyder IDE 会显示正常,很奇怪 应该就是IDE的原因 IDE的循环导入问题 检查IDE配置: 如果可…

引流精准客源方法,学会这一招就够你用的了

科思创业汇 大家好,这里是科思创业汇,一个轻资产创业孵化平台。赚钱的方式有很多种,我希望在科思创业汇能够给你带来最快乐的那一种! 第一,你要想一想,你想吸引什么样的人? 您的排水目的是推…

构建语言模型:BERT 分步实施指南

学习目标 了解 BERT 的架构和组件。了解 BERT 输入所需的预处理步骤以及如何处理不同的输入序列长度。获得使用 TensorFlow 或 PyTorch 等流行机器学习框架实施 BERT 的实践知识。了解如何针对特定下游任务(例如文本分类或命名实体识别)微调 BERT。为什么我们需要 BERT? 正…

Vue3+SpringBoot快速开发模板

起因:个人开发过程经常会使用到Vue3SpringBoot技术栈来开发项目,每次在项目初始化时都需要涉及一些重复的整理工作,于是结合一些个人觉得不错的前后端模板进行整合,打通一些大多数项目都需要的实现的基础功能,以便于快…

Spring 事务管理

目录 1. 事务管理 1.1. Spring框架的事务支持模型的优势 1.1.1. 全局事务 1.1.2. 本地事务 1.1.3. Spring框架的一致化编程模型 1.2. 了解Spring框架的事务抽象(Transaction Abstraction) 1.2.1. Hibernate 事务设置 1.3. 用事务同步资源 1.3.1…

协议,序列化,反序列化,Json

文章目录 协议序列化和反序列化网络计算器protocol.hppServer.hppServer.ccClient.hppClient.cclog.txt通过结果再次理解通信过程 Json效果 协议 协议究竟是什么呢?首先得知道主机之间的网络通信交互的是什么数据,像平时使用聊天APP聊天可以清楚&#x…

springboot 对接 minio 分布式文件系统

1. minio介绍 Minio 是一个基于Go语言的对象存储服务。它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象…

npm install时出现的问题Failed at the node-sass@4.14.1 postinstall script

从阿里云上拉取下来项目后,首先使用npm install 命令进行安装所需依赖,意想不到的事情发生了,报出了Failed at the node-sass4.14.1 postinstall script,这个问题,顿时一脸懵逼;询问前端大佬,给…

内存快照:宕机后,Redis如何实现快速恢复?RDB

AOF的回顾 回顾Redis 的AOF的持久化机制。 Redis 避免数据丢失的 AOF 方法。这个方法的好处,是每次执行只需要记录操作命令,需要持久化的数据量不大。一般而言,只要你采用的不是 always 的持久化策略,就不会对性能造成太大影响。 …

CS 144 Lab Six -- building an IP router

CS 144 Lab Six -- building an IP router 引言路由器的实现测试 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab Six 对应的PDF: Lab Checkpoint 5: building an IP router 引言 在本实验中,你将在现有的NetworkInterface基础上实现一个IP路由器&#xf…

scala连接mysql数据库

scala中通常是通过JDBC组件来连接Mysql。JDBC, 全称为Java DataBase Connectivity standard。 加载依赖 其中包含 JDBC driver <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.29&l…

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离 (三)

本篇主要说明&#xff1a; 1. 因为这个mysql版本是8.0&#xff0c;所以当其中一台mysql节点挂掉之后&#xff0c;主从同步&#xff0c;甚至双向数据同步都失效了&#xff0c;所以本篇主要记录下当其中的节点挂掉之后如何再次生效。另外推荐大家使用mysql5.7的版本&#xff0c;这…

Opencv-C++笔记 (14) : 霍夫变换(直线、圆)

文章目录 一、霍夫变换-直线1.1霍夫变换-直线 原理详解 二、霍夫圆检测 一、霍夫变换-直线 Hough Line Transform用来做直线检测 前提条件 – 边缘检测已经完成 1、平面空间&#xff08;x,y&#xff09;到极坐标空间转换&#xff1b; 2、对极坐标进行变换&#xff0c;转化为…

FL Studio Producer Edition 21 v21.0.3 Build 3517 Windows/mac官方中文版

FL Studio Producer Edition 21 v21.0.3 Build 3517 Windows FL Studio Producer Edition 21 v21.0.3 Build 3517 Windows/mac官方中文版是一个完整的软件音乐制作环境或数字音频工作站&#xff08;DAW&#xff09;。它代表了 25 多年的创新发展&#xff0c;将您创作、编曲、录…

剑指offer65.不用加减乘除做加法

把二进制加法可以分为五进位加法和进位加法&#xff0c;无进位&#xff1a;000&#xff0c;011&#xff0c;101&#xff0c;有进位加法&#xff1a;110进位为1。可以发现无进位的加法与异或运算规律相同&#xff0c;有进位加法和与运算规律相同&#xff0c;无进位和na^b,有进位…

【Spring Boot】(一)Spring Boot 项目的创建和使用

文章目录 前言一、什么是 Spring Boot1.1 初识 Spring Boot1.2 Spring Boot 的核心设计思想1.3 Spring Boot 的优点 二、Spring Boot 项目的创建2.1 使用 IDEA 创建2.2 使用网页创建2.3 项目的目录结构 三、Hello World3.1 运行启动类3.2 通过浏览器页面输出 Hello World3.3 约…

QT 使用单例模式

目录 1. 单例模式介绍 2.单例模式实现 1. 单例模式介绍 有些时候我们在做 qt 项目的时候,要用到很多类. 例如我们用到的类有 A,B,C,D. 其中,A 是 B,C,D 中都需要用到的类,A 类非常的抢手. 但是,A 类非常的占内存,定义一个 A 对象需要 500M 内存,假如在 B,C,D 中都定义一个 A 类…

pointpillars在Ubuntu2004训练的总结

1、找到pointpcdet-master之后在此打开终端输入code进入VScode界面 code 2、激活pp环境 conda activate pp 3、cd进入tools cd tools 4、将kitti数据集准备好放入data路径下之后开始训练 python train.py --cfg_file cfgs/kitti_models/pointpillar.yaml 5、训练完成之…

ComfyUI的一场线上辩论。

https://www.reddit.com/r/StableDiffusion/comments/15ilqso/hank_hill_tries_comfyui 从前有两个朋友&#xff0c;叫小明和小杰。一天&#xff0c;小明对小杰说&#xff1a;“我不知道node是什么意思。”小杰听了&#xff0c;觉得很好笑&#xff0c;他开玩笑地回答&#xff1…

手写一个简易的布隆过滤器

1.什么是布隆过滤器 布隆过滤器&#xff08;Bloom Filter&#xff09;是1970年由布隆(人名)提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多&#xff0c;…