首页 > 其他分享 >JS逆向

JS逆向

时间:2024-04-23 17:37:29浏览次数:21  
标签:逆向 加密 登录 phantomjs js 文件 JS 断点

断点调试的几种办法

一、文件流程断点

首先以一个登录界面举例说明,抓取登录的数据包.

载荷处存在加密的数据

 在启动器处可以查看调用堆栈,这个登录请求,大致分析是处在中间位置发生了加密,所以跟一下 Login

 之后在代码前加入断点,并登录

 发现加密数据是在Login处有,匿名处没有,所以加密代码可能就处在这个之间,之后看js源码

 

 

 可以看到使用了encrypt.encrypt()加密了数据。向上跟

 加密js文件是

 

 所以直接在控制台调用

 二、XHR断点

首先抓取登录数据包,可以看到载荷处存在加密数据

 

将登录的路径复制,在xhr处添加

 点击登录

之后在value处找到相关代码

 在控制台中可以直接调用

 同时可以将加密文件保存到本地,或者在线平台

 将文件代码复制,并且将调用代码复制修改,即可本地生成加密字符。

 

JS密码登录枚举爆破

首先需要两个项目

1、下载phantomjs并设置环境变量
https://phantomjs.org/download.html
2、BurpSuite加载jsEncrypter插件
https://github.com/c0ny1/jsEncrypter/releases

以前文举例,当时存在一个JSEncrypt.js文件保存到burp插件的同级目录下

 

 修改文件内容。

 之后启动监听

>phantomjs phantomjs_server.js
[*] load js successful
[!] ^_^
[*] jsEncrypterJS start!
[+] address: http://127.0.0.1:1664

 burp中链接

 

 

标签:逆向,加密,登录,phantomjs,js,文件,JS,断点
From: https://www.cnblogs.com/re8sd/p/18153345

相关文章

  • [转] JS运算符 &&和|| 及其优先级
    [转]JS运算符&&和||及其优先级:https://blog.csdn.net/banyu0052/article/details/101946098?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-1-101946098-blog-82424825.235%5Ev43%5Ep......
  • 原生js base64格式数据 下载
    原生jsbase64格式数据下载/***封装base64Strblob对象**/functionbase64toBlob(base64Str){varbstr=atob(base64Str),n=bstr.length,u8arr=newUint8Array(n);while(n--){u8arr[n]=bstr.charCodeAt(n);}returnnewBlob([u8arr]);}/......
  • 【前端】纯JS实现文本对比高亮显示
    1.参考demo1-1、连接:http://incaseofstairs.com/jsdiff/1-2、例子:2.页面<!DOCTYPEhtml><!--savedfromurl=(0033)http://incaseofstairs.com/jsdiff/--><html><head><metahttp-equiv="Content-Type"content="text/html;chars......
  • 前端在浏览器显示摄像头传回的RTSP视频流,前端采用的技术有VUE+video.js+flv.js
    在前端使用Vue.js框架,结合video.js和flv.js播放RTSP视频流,需要经过一系列步骤,因为浏览器并不能直接播放RTSP流,所以通常需要一个服务器来将RTSP流转为HLS或FLV格式,然后前端再通过flv.js播放。以下是一个基于此思路的基本实现指南:确保你已经安装了Vue.js、video.js、flv.js相关的依......
  • JS基础(二)运算符、流程控制语句、数组对象、JSON对象、Date对象、Math对象、Function对
    一运算符<script>//算数运算符//(1)自加运算varx=10;//x=x+1;//x+=2;varret=x++;//先赋值再计算:x+=1//varret=++x;//先计算再赋值:x+=1console.log(x)......
  • 模块与包、json模块
    【一】模块与包介绍【1】什么是模块在Python中,一个py文件就是一个模块,文件名为xxx.py,模块名则是xxx,导入模块可以引入模块中已经写好的功能。如果把开发程序比喻成制造一台电脑编写模块就像是在制造电脑的零部件准备好零件后,剩下的工作就是按照逻辑把它们组装到一起。将......
  • js常见问题
    Chrome88后更新了更为激进的省电策略[1],导致后台非活动页面中setInterval、setTimeout回调的执行间隔拉长到1分钟以上。这里有一种很巧妙的方法可以强制标签页不进入非活动状态(利用了播放视频时标签页不会休眠的机制),而且不需要改动业务代码,只需要将下面的代码放到页面JS脚本中执......
  • 使用js语文json字符串通过get方式传值,然后用request接收
    在JavaScript中,如果你有一个JSON字符串,并且你想通过GET请求或者其他HTTP请求来传递这个字符串,你可以使用encodeURIComponent函数来确保字符串能够安全地通过URL传输。//假设我们有一个JSON对象constjsonObject={name:"John",age:30,city:"NewYork"};//将......
  • js逆向实战之一品威客signature参数解密
    url:https://www.epwk.com/login.html分析过程输入用户名和密码,看触发的流量包。signature参数明显是被加密过的,接下来就是去寻找加密的过程。关键词搜索signature。有两处,第二处是个固定值不需要看,关注点在第一处。点进去看对应的代码,并打断点,重新登录,触发该断点。......
  • js递归实现深拷贝
    functiongetType(data){returnObject.prototype.toString.call(data).replace(']','').substring(8)}function_clone(data,res){consttype=getType(data)if(type==='Object'){Object.keys(data).map(i=>{......