基础js逆向练习-登录密码破解(js逆向)

练习平台:逆向账号密码

https://login1.scrape.center/

直接打开平台,输入密码账号,抓包找到加密的参数携带的位置,这边我们找到的是一个叫token的加密参数,这个参数的携带是一个密文

我们首先考虑一下搜索这个加密的参数位置,直接找到的话可以不必要使用一些调试手段。

很幸运第一个实际上就是这段加密的位置所在,那么我门直接使用这段加密的位置

目的还是这个e的内容的获取,那么我们直接拷贝下来这个e的内容。

var e = c.encode(JSON.stringify(this.form));

我们发现内层是一个将form转换成json的一个过程,那么这边我们直接查找这个form看一下这个form是什么内容。

可以明显看出来这是一个对象,这个对象中有两个属性,一个是username 一个是password ,那么我们可以直接获得这个对象,使用python传递即可。

 现在主要就是找到e,encode的加密函数的位置,然后进行补环境就可以解决这个问题了。

搜索直接跳转到这个位置。

一路复制粘贴查找出现报错的位置

继续开始找

复制粘贴

出现这个错误

这边可以看出来是一个三目运算符,里面是有一些浏览器环境检查的,我们直接找到这个值就可以。不需要在替换,替换是一个比较复杂的过程。

直接调试到这个位置,浏览器输入
 

buffer ? buffer.from && Uint8Array && buffer.from !== Uint8Array.from ? function (e) {return (e.constructor === buffer.constructor ? e : buffer.from(e)).toString("base64")}: function (e) {return (e.constructor === buffer.constructor ? e : new buffer(e)).toString("base64")}: function (e) {return btoa(utob(e))}

你想要跳转到这里需要刷新一下,主要是这个是页面加载中的,并不是网络请求中的。

所以这个_encode就是 

function (e) {return btoa(utob(e))}

直接找到这个函数缺少的部分utob

找到缺少的环境,re_utob 和cb_utob

复制粘贴到编译器

成功

        var cb_utob = function (e) {if (e.length < 2) {var r = e.charCodeAt(0);return r < 128 ? e : r < 2048 ? fromCharCode(192 | r >>> 6) + fromCharCode(128 | 63 & r) : fromCharCode(224 | r >>> 12 & 15) + fromCharCode(128 | r >>> 6 & 63) + fromCharCode(128 | 63 & r)}r = 65536 + 1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320);return fromCharCode(240 | r >>> 18 & 7) + fromCharCode(128 | r >>> 12 & 63) + fromCharCode(128 | r >>> 6 & 63) + fromCharCode(128 | 63 & r)}var utob = function (e) {return e.replace({}, cb_utob)}var _encode = function (e) {return btoa(utob(e))}var encode = function (e, r) {return r ? _encode(String(e)).replace(/[+\/]/g, (function (e) {return "+" == e ? "-" : "_"})).replace(/=/g, "") : _encode(String(e))}form = {username: "1",password: "1"}var e = encode(JSON.stringify(form));console.log(e)

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

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

相关文章

python之socket

socket套接字 什么叫socket socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统.socket在python中就是一个模块. socket两个分类 基于文件类型的套接字家族 套接字家族的名字&#xff1a;AF_UNIX unix一切皆文件…

iOS----JSON解析

在iOS开发中与服务器进行数据交互操作&#xff0c;操作过程中使用最为常见的格式为JSON与XML,其中JSON较为清量,因此本篇blog就讲解一下如何在iOS中进行JSON解析。 1.建立HTTP请求 &#xff08;1&#xff09;创建URL NSString *URLStr [NSString stringWithFormat:”http:/…

VS中每次改代码后运行程序不更新,只有重新编译才生效。

解决方法&#xff1a;将项目移除解决方案&#xff0c;再重新添加进来&#xff0c;即添加->现有项目->选择.vcxproj文件&#xff0c;即可解决。 转载于:https://www.cnblogs.com/Gregg/p/11358711.html

socket补充:通信循环、链接循环、远程操作及黏包现象

socket补充&#xff1a;通信循环、链接循环、远程操作及黏包现象 socket通信循环 server端&#xff1a; import socketphone socket.socket(socket.AF_INET,socket.SOCK_STREAM)phone.bind((127.0.0.1,8080))phone.listen(5)conn, client_addr phone.accept() print(conn, cl…

PCA的原理及MATLAB实现

相关文章 PCA的原理及MATLAB实现 UFLDL教程&#xff1a;Exercise:PCA in 2D & PCA and Whitening python-A comparison of various Robust PCA implementations &#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&a…

Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理

Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理 说明&#xff1a;Java生鲜电商平台中&#xff0c;我们将进一步理解微服务架构的核心要点和实现原理&#xff0c;为读者的实践提供微服务的设计模式&#xff0c;以期让微服务在读者正在工作的项目中起到积极的作用。…

iOS中下载小文件

在iOS中通过网络下载小文件比如小型图片等资源&#xff0c;一般在子线程中将数据完全下载完毕&#xff0c;然后在调用block将下载的数据整个部分返回&#xff0c;或者采用同步返回下载数据。 一般采用以下两种方式&#xff1a; &#xff08;1&#xff09;使用GCD将下载操作放…

iOS下载大文件原理解析一

iOS中下载大型文件&#xff0c;需要考虑到占用内存的大小与下载速度&#xff08;使用多线程&#xff09;&#xff0c;因此本文首先介绍一个原理性下载文件的DEMO。 在下载大型文件中&#xff0c;需要知道下载的进度因此需要使用代理模式&#xff0c;不断的回调下载进度。 - (…

recv原理、高阶版黏包解决方案、基于UDP的socket通信

recv原理、高阶版黏包解决方案、基于UDP的socket通信 recv原理 源码解释&#xff1a; Receive up to buffersize bytes from the socket. 接收来自socket缓冲区的字节数据&#xff0c; For the optional flags argument, see the Unix manual. 对于这些设置的参数&#xff0c;可…

iOS中下载大型文件的原理解析二

在iOS中下载大型文件&#xff0c;需要使用NSURLConnection 的代理方法&#xff1a; (void)touchesBegan:(NSSet)touches withEvent:(UIEvent *)event { NSURL *url [NSURL URLWithString:”http://d.3987.com/fengj_141112/007.jpg“]; NSURLRequest *request [NSURLReque…

ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试

想必大家之前在进行ASP.NET Web 应用程序开发期间都有用到过将我们的网站部署到IIS自定义主机域名并附加到进程进行调试。 那我们的ASP.NET Core Web 应用程序又是如何部署到我们的IIS上面进行调试的呢&#xff0c;接下来我们来简单介绍下&#xff1a; 一、安装IIS所需的Host扩…

iOS下载大型文件原理解析三

在下载大型文件过程中是可以取消下载的 - (IBAction)download:(UIButton *)sender { // 状态取反 sender.selected !sender.isSelected; // 断点续传 // 断点下载if (sender.selected) { // 继续&#xff08;开始&#xff09;下载// 1.URLNSURL *url [NSURL URLWithStrin…

HTML文件上传与下载

文件下载 传统的文件下载有两种方法&#xff1a; 使用<a/>标签&#xff0c;href属性直接连接到服务器的文件路径window.location.href"url"这两种方法效果一样。但有个很大的问题&#xff0c;如果下载出现异常&#xff08;连接路径失效、文件不存在、网络问题等…

NSURLSession的应用

iOS7以后发布了NSURLSession用来替换NSURLConnection&#xff0c;NSURLSession使用方式有以下两种&#xff1a; 1.block方式 &#xff08;1&#xff09;创建的步骤 获取单例会话对象 创建URL对象 隐含创建request 创建NSURLSessionDataTask // 1.获取会话对象 NSURLSess…

ASP.NET Core Web 应用程序系列(一)- 使用ASP.NET Core内置的IoC容器DI进行批量依赖注入(MVC当中应用)...

在正式进入主题之前我们来看下几个概念&#xff1a; 一、依赖倒置 依赖倒置是编程五大原则之一&#xff0c;即&#xff1a; 1、上层模块不应该依赖于下层模块&#xff0c;它们共同依赖于一个抽象。 2、抽象不能依赖于具体&#xff0c;具体依赖于抽象。 其中上层就是指使用者&am…

iOS中XML解析

iOS中XML解析分为两种实现方式&#xff1a;SAX与DOM SAX方式&#xff1a;主要是事件驱动的解析方式&#xff0c;是逐行读取XML数据&#xff0c;不断回调代理&#xff0c;告诉代理当前解析的元素开始或者结束。 DOM解析方式&#xff1a;是讲整个XML数据全部读入内存&#xff0…

苹果电脑基本设置+Linux 命令+Android 实战集锦

本文微信公众号「AndroidTraveler」首发。 背景 大多数应届毕业生在大学期间使用的比较多的是 windows 电脑&#xff0c;因此初入职场如果拿到一台苹果电脑&#xff0c;可能一时间不能够很快的上手。基于此&#xff0c;这边出了系列视频&#xff0c;通过实际的演示让没使用过苹…

iOS中POST请求

iOS中POST请求的发送需要使用NSMutableURLRequest可以设置URL request的头字段&#xff0c;比如超时时间&#xff0c;请求类型&#xff1a;GET POST等一些关键头字段&#xff1a; - (IBAction)login { // 1.用户名 NSString *usernameText self.username.text; if (userna…

发送JSON数据给服务器

需要将JSON格式的数据传送给服务器&#xff0c;注意需要设置&#xff1a; [request setValue:”application/json” forHTTPHeaderField:”Content-Type”]; Content-Type类型为&#xff1a;application/json // 1.URL NSURL *url [NSURL URLWithString:"http://localh…