Js逆向学习—RSA加密网站解析与python还原加密

news/2024/5/13 14:39:40/文章来源:https://blog.csdn.net/m0_46639364/article/details/122844009

在这里插入图片描述
今天的目标是 中大网校 的模拟登录,看图可知passwordLogin是登录请求,这里是对password进行了某种加密,想要模拟登录成功就需要知道密码的加密逻辑。
在这里插入图片描述
首先点开Initiator,查看该请求发送过程中执行了哪些js代码,执行顺序为从下到上,jquery开头的js文件pass,剩下的挨个去点击,找相关加密逻辑。
在这里插入图片描述

点开utils文件,在相关位置打下断点再次发送请求,可以看到此处执行的是url后缀为getTime的请求,返回文章最上方看到,此请求为最先发出的请求,跟密码加密无关,但响应返回了貌似时间戳的数据。我们先往下执行
在这里插入图片描述
passwordLogin请求了,到这一步password已经完成了加密。所以需要往前去找加密逻辑,找到右边的call stack,往下一步点击
在这里插入图片描述
取消前面的断点,在此处打上新断点,继续发送请求
在这里插入图片描述
看断点之前执行的代码,拿到加密逻辑password:encryptFn(pwd+’’+ress.data)
此处pwd还是未加密状态,很明显encryptFn就是加密函数,此处传值pwd+ress.data,data就是时间戳,也就是说在登录过程中,首先getTime请求获取时间戳,把我们的明文密码+返回的时间戳做了拼接加密。接下来,进入encryptFn函数,看看该函数做了什么操作。
在这里插入图片描述
进入该函数之后再次打断点,重新发送登录请求,可以看到一个publicKey,有点经验的小伙伴就该猜到了,这是公钥,该处js函数的含义就是new了一个名为‘o’的加密对象,传入publicKey,然后加密字符串‘e’,这里e就是前面说到的密码明文+时间戳。很明显就是一个RSA加密。接下来就是python还原RSA加密过程。

    message = '1231231644397774701'publicKey = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA5Zq6ZdH/RMSvC8WKhp5gj6Ue4Lqjo0Q2PnyGbSkTlYku0HtVzbh3S9F9oHbxeO55E8tEEQ5wj/+52VMLavcuwkDypG66N6c1z0Fo2HgxV3e0tqt1wyNtmbwg7ruIYmFM+dErIpTiLRDvOy+0vgPcBVDfSUHwUSgUtIkyC47UNQIDAQAB\n-----END PUBLIC KEY-----"rsa_key = RSA.import_key(publicKey)rsa_obj = PKCS1_v1_5.new(rsa_key)rsa_message = rsa_obj.encrypt(message.encode('utf-8'))print(base64.b64encode(rsa_message).decode('utf-8'))

message是要加密的明文+时间戳,这里的时间戳是请求getTime获取的时间戳,也就是说在发送模拟登录请求之前要先通过session请求该接口获取时间戳,保持好会话,然后再模拟登录才能得到服务器响应登录成功。至于验证码大家自行解决。本文仅提供解决思路,不提供完整代码。
感谢各位大佬浏览,有不足之处请指教!!!

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

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

相关文章

使用Docsify做文档网站的详细配置教程

使用Docsify做文档网站的详细配置教程 作者:xhemj 没错,它叫Docsify。 xhemj的文档中心就是用这个写的 开源地址:https://github.com/docsifyjs/docsify/ 官方Demo:https://docsify.js.org/ 目录 官方说明安装如何写文章个性化插…

IronPython 个人网站样例宝藏挖掘

IronPython for ASP.NET 的 CTP 已经发布两个多星期了,惭愧的是,因为工作繁忙,一直没有太多时间来学习。居然忽略了 Personal Web Site Starter Kit 的 IronPython 样例。幸亏了 Scott Guthrie 这篇博客: http://blog.joycode.com/scottgu/ar…

php网站压测(ab)

一般来说核心页面都需要进行压测,特别是秒杀页面,从而知道网站的承受能力,方便暴露一些问题,更好的把控网站。压测工具有很多种,最简单、方便的可以使用ApacheBench,也就是我们熟悉的ab工具,不过…

在构建社交网站中,MySQL 和 MongoDB优缺点大比拼

在项目的规划和发展过程中,最关键的一步是要选择合适的数据库。如果选择错误的话,将会花费你大量时间和金钱,并且在这过程中还会惹毛很多的客户。当在他们预期方式中使用时,MongoDB和MySQL都是非常优秀的数据库,但究竟…

大型网站架构演化历程

大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解决这类问题。 本文内容大部分来自《大型网站技术架构》,这本书很值得一看…

强烈推荐几个比较好的Java代码查询网站

这些是我经常使用的一些Java代码查询网站,希望在这里能起到抛砖引玉的效果,大家群策群力,一起分享Java快乐。 1. java2s http://www.java2s.com/ 这个网站非常好,分成三大类,分别是 Example、 Products、 Articles&a…

今天在做网站中..........

程序员协会的网站已经拖了半年了,呵呵,一直想做 在听蓝色生死恋,嗯嗯,过去只是在街上听过,昨天晚上到Baidu找了半天,上传上来,大家共享一下! 心情不咋样,早上抓了几个学…

如何用初级的JavaWeb知识写一个较简单的网站(一)

本人JavaWeb初学者,这是学校一门课程的期末作业,之前已经写了不少了,但是由于一点误操作,导致项目有点崩盘,加上心态不是很好,所以把整个项目全部删除重做,这里记录一下我写整个项目的全过程。 …

如何用初级的JavaWeb知识写一个较简单的网站(二)

好了,废话不多说,我们接着上次的项目继续开发 我们现在先暂时开发用户登录注册界面,上次我们已经完成了项目的初期准备,完成了建表、User实体类和UserDao的书写,下面我们开始套页 这里的前台页面是由一名前端程序员写…

影响网站打开速度的9大因素

再好的网站,如果打开速度慢,10个人会有9个人选择离开,我归纳了大约9大影响网站打开速度的因素,但网站页面显示的速度取决于众多的因素,包括服务器性能、网络传输质量、网站的带宽、DNS解析、网页内容包括涉及到的JS代码…

提高网站打开速度的7大秘籍

很多站长使用虚拟主机来做网站,网页内容一旦很多,网站打开速度就会特别慢,如果说服务器、带宽、CDN这类硬指标我们没有经济实力去做,不妨通过网页代码优化的方式来提高速度,卢松松总结了一些可行性的方法。 1: 缩小Jav…

12个在线网站测速工具——web性能

网站的访问速度对于一个网站非常重要,没有一个人会喜欢速度慢的网站。下面是12款在线测试网站的访问速度和性能的工具,在优化网站的时候很有用。 Pingdom 测试网站每个元素的加载速度,比如html、图片、JS文件等等。 GTmetrix GTmetrix集合…

谷歌搜索将衡量网站速度

据国外媒体报道,Google搜索结果排名将考量网页加载速度因素,网页加载速度慢的网站的Google搜索结果排名很可能会下滑。 Google的两位首席搜索工程师阿米特‧辛格哈尔(Amit Singhal)和马特•卡茨(Matt Cutts&#xff09…

怎样让网站的文章(内页)快速收录和发外链的方法

做网站的站长们都知道,网站的文章的收录数量往往决定着网站的权重和网站的排名,所以一些站长对于网站的索引量看的极其重要。而最让人头疼的是,有时候当你费尽心思的写出一篇高质量的原创文章发表到网站以后,却迟迟不被收录&#…

windows server服务器上部署java+tomcat网站域名配置

windows server服务器上部署javatomcat网站域名配置 如果只是部署java项目的话,可以把IIS删除,然后在服务器上安装jdk tomcat 配置好环境变量,就和你在自己计算机上开发一样,把你的项目war包拷到tomcat下的webapps里(…

python使用selenium爬取网站流程 适用于抓取使用了js等异步加载技术的网站

Python使用urllib.open再配合BeautifulSoup解析是最快的网页抓取方式,但部分网站做了反爬,用这种抓取方法会出错,就是浏览器里看网页内容是有的,但Python里抓出来的是空架子无数据。这种时候可以F12观察网站是否有直接的数据接口返…

应用程序和网站中创建几乎任何类型的工业条码控件BarcodeX.NET

BarcodeX.NET条形码控件是一种.NET WinForms组件和ASP.NET服务器控件,它可以在您的应用程序和网站中创建几乎任何类型的工业条形码。 具体功能: 100% C#托管代码适用于.NET框架2.0,3.0和3.5支持的条码包括:DataMatrix, PDF-417, …

轻量级设计,让网站灵敏轻便的6个技巧

在网站或软件的策划和设计过程中,我们经常听到这样的讨论:“这个功能设计得太重了”又或“我们希望能够处理得轻一些”。似乎轻设计是时下炙手可热的话题,也是方兴未艾的Web2.0大浪下设计师们的最爱(看看那些在全世界遍地开花的SN…