首页 > 其他分享 >JS-Forward 学习笔记

JS-Forward 学习笔记

时间:2023-07-12 10:55:29浏览次数:40  
标签:笔记 Brup Client 参数 Forward Suite JS

什么是JS-Forward?

不了解的同学,可以先看看JS-Forward的Github仓库介绍,https://github.com/G-Security-Team/JS-Forward

JS-Forward是一款可以配合类似Burp Suite等抓包软件的脚本,脚本的功能是可以将js里面的参数通过Http请求将参数发送出来,在外部进行修改,最后将修改后的返回值再替换回原参数。在一些特定场景是可以方便做渗透测试、功能测试...。

比较常见是在JS加密解密场景下使用。

流程时序图

sequenceDiagram Client ->> JS_Forward: Plaintext JS_Forward ->> Brup_Suite: Plaintext Brup_Suite ->> Client: Modified Plaintext Client ->> Client: encrypt(Modified_Plaintext) Client ->> Brup_Suite: Ciphertext Brup_Suite ->> Servers: Ciphertext Servers ->> Brup_Suite: Respones Brup_Suite ->> Client: Respones

使用流程

前置知识: 新版的chrome,直接修改JS代码已经不能生效,需要做替换操作,这个步骤不是本次重点,不会的同学请先自行查阅。

  1. 抓包查看请求接口的数据,选择被加密的参数和参数名;

  2. 启动JS-Forward

  3. 设置参数、获得payload

  4. 插入js代码中

  5. 测试
    5.1

    5.2

    5.3

源码解读

查看源码,程序还是比较简单明了的,主要是两个部分:

  1. 手动设置参数;
  2. 开启线程监听http请求,并做转发。

总结

个人觉得配合Burp Suite手动操作,效率不是最优。有些特定接口,编写自动发包程序去自动化测试才能达到最好结果。

Reference

chrome浏览器F12调式,修改替换js文件
https://blog.csdn.net/m0_67390963/article/details/123344330

标签:笔记,Brup,Client,参数,Forward,Suite,JS
From: https://www.cnblogs.com/mysticbinary/p/17545340.html

相关文章

  • 【NestJS系列】从Nest CLI开始入门
    初识NestJSNest是一个渐进的Node.js框架,它可以在TypeScript和JavaScript(ES6、ES7、ES8)之上构建高效、可伸缩的企业级服务器端应用程序。Nest基于TypeScript编写并且结合了OOP(面向对象编程),FP(函数式编程)和FRP(函数式响应编程)的相关理念。在设计上的很多灵感来自于......
  • 组合数学 笔记
    组合数学笔寄加法原理完成一个事情有\(n\)类做法,第\(i\)类做法又分为\(a_i\)种。所以这件事情有\(S=\sum_{i=1}^{n}a_i\)的不同的完成方法。乘法原理草字头有\(3\)种写法,回字有\(4\)种写法,所以茴香豆的茴有\(S=3\times4\)种写法。同样,一件事情有\(n\)个步......
  • 【学习笔记】空空的浅谈DP
    特邀讲师:墨染空洛谷用户@Remakedalao博客中的学习笔记:https://www.cnblogs.com/dmoransky/p/14063918.htmlDP1决策单调性1.2由已知量转移:分治算法洛谷P3515:[POI2011]LightningConductor1.3由之前状态转移:单调栈上二分洛谷P1912:[NOI2009]诗人小G\(f......
  • Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是
    1.jquerygrep()筛选遍历数组(可以得到反转的数组)//1.jquerygrep()筛选遍历数组(可以得到反转的数组)vararray=[1,5,9,3,12,4,48,98,4,75,2,10,11];varfilterArray=$.grep(array,(currentValue)=>{returncurrentValue>10;});console.log(`${filt......
  • markdown笔记
    #markdown##二级标题###三级标题####四级标题#####五级标题######六级标题#加文字加空格,一个#是一级标题,两个#是二级标题,以此类推,最多只有六级标题。菜单栏里“视图”-“大纲”,已有的标题会在大纲中显示,可以选择是否折叠显示。 ##字体**粗体***斜体****粗体加......
  • tsconfig.json语法检查问题
    前言:这个问题卡住好久。全是红色波浪线,代码没法看。第一步:"compilerOptions":{"moduleResolution":"node","jsx":"react"},解决办法:https://stackoverflow.com/questions/40899868/typescript-cannot-find-module-react消除了一部分,但一部分还是报错 ......
  • 「学习笔记」后缀数组
    感谢LB学长的博文!前置知识后缀是指从某个位置\(i\)开始到整个串末尾结束的一个特殊子串,也就是\(S[i\dots|S|-1]\)。计数排序-OIWiki(oi-wiki.org)基数排序-OIWiki(oi-wiki.org)变量后缀数组最主要的两个数组是sa和rk。sa表示将所有后缀排序后第\(i\)小......
  • 「July」做题笔记 #2
    CF1783EGameoftheYear我们先排除\(a_i\leqslantb_i\)的点。即\(\foralli,\lfloor\frac{a_i}{i}\rfloor\leqslant\lfloor\frac{b_i}{i}\rfloor\)。考虑一个\(k\)把整个序列分成了\(\fracnk\)块,这样所有点都只需要在一个块。容易想到使用扫描线解决这......
  • DDP学习笔记
    概念DDP,可以理解为转移会发生改变的动态规划。当然这个改变是题目中给的,包括系数,转移位置的改变。显然暴力枚举这些改变是不现实的,我们要把改变体现到其他地方。最经典的,体现到矩阵上。我们把转移写成矩阵,那么改变转移就是改变转移矩阵。具体的改变会落实到具体的题目上。广......
  • Markdown练习笔记
    一级标题二级标题三级标题四级标题五级标题六级标题斜体粗体粗斜体换行引用嵌套cker-博客园(cnblogs.com)https://www.cnblogs.com/ckeri/无序列表有序列表删除下划线code#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<......