首页 > 其他分享 >简单的js加密练习(js逆向)

简单的js加密练习(js逆向)

时间:2024-01-08 14:08:11浏览次数:30  
标签:逆向 加密 base64 timeNow js encode import data


Spiderbuf-Python爬虫练习场

简单的js加密练习(js逆向)_编写代码

直接开发者工具检查,然后查找加载这个的文件位置。

简单的js加密练习(js逆向)_爬虫_02

没有载荷但是有个加密的链接,这是我们得想一下,这个加密绝对是可解的加密,不然服务器怎们知道是什么请求呢,所以我们先使用解密工具验证。

简单的js加密练习(js逆向)_爬虫_03

直接找到,看来是base64加密,但是后谜案还有一串字符,我们可以猜测一下这个加密是md5的。你问我为什么?看下面

简单的js加密练习(js逆向)_ide_04

就差直接告诉我了。所以这个加密我们可以很清晰的得出是md5,结合名字,直接可以验证。

简单的js加密练习(js逆向)_编写代码_05

简单的js加密练习(js逆向)_网络爬虫_06

编写代码直接解决,这个题目如果直接去找的话还是很困难的,但是这个链接的形式还是比较容易发现问题的,没有参数,加密的还是链接,首先就要想到时间加密。

import requests
import base64
import hashlib
import time

timeNow = int(time.time() * 1000)

headers = {
    "Referer": "http://spiderbuf.cn/h05/",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",

}
cookies = {
    "Hm_lpvt_ab0153f5f064a819a91a3699f63f86e3": str(timeNow)
}

obj = hashlib.md5()
obj.update(str(timeNow).encode('utf-8'))
result = obj.hexdigest()

data_to_encode = f"{timeNow},{result}"
encoded_data = base64.b64encode(data_to_encode.encode('utf-8')).decode('utf-8')

url = f"http://spiderbuf.cn//h05/api/{encoded_data}"
print(url)
response = requests.get(url,headers=headers,cookies=cookies)
print(response.text)

解析代码即可知道所有的密码内容。

简单的js加密练习(js逆向)_编写代码_07

标签:逆向,加密,base64,timeNow,js,encode,import,data
From: https://blog.51cto.com/u_16426526/9143874

相关文章

  • js逆向获取小说数据
    本文仅用于技术交流,不得以危害或者是侵犯他人利益为目的使用文中介绍的代码模块,若有侵权请练习作者更改。网站链接:aHR0cHM6Ly93d3cuc2h1cWkuY29tLw==分析加密开始的时候直接进入小说正文,打开抓包工具,直接进行检索。我们会发现这是一个ajax请求发送。我们查看请求参数,只有这个看起......
  • 某省资源交易中心 (js逆向)
    该文章只是用于逆向学习,不得以商用或者是破坏他人利益的目的进行使用。如有侵权请联系作者。网站链接:bse64aHR0cHM6Ly9nZ3p5ZncuZnVqaWFuLmdvdi5jbi9idXNpbmVzcy9saXN0Lw==分析环节进入网站进行翻页请求时我们会发现改请求时ajax请求。这里,我们可以直接看一下请求参数和返回结果,以......
  • 猿人学12 13 简单的js逆向
    解题过程通过网络抓包工具找到请求页 观察参数,我们会发现中间有一个m是被加密过的由于请求是ajax请求直接进行xhr断点找到m被加密的位置我们发现他的加密是使用btoa函数将页数和yuanrenxue结合加密的。而这个函数在js中是一个内置函数,是通过编码的方式进行加密,所以只需要在js文件......
  • 逆向微博热搜时光机(js逆向)
    直接分析,我们需要先查询一下网络请求的方式,通过使用反页请求,我们可以知道这个时光机的本质上是通过ajax请求进行的数据传输,所以这里我们可以减少查询的范围,可以直接调试查找XHR类型的数据传输内容,这里我推荐大家使用翻页后的数据查询,主要是为了鉴定一下该参数的携带加密位置(timeid......
  • 猿人学第一题 js混淆 双重加密(详解)
    当我们点击分页的时候可以确定这个请求过程是ajax请求,所以直接使用抓包工具找到储存信息的请求。找到这个请求之后,我们明显发现?后面的参数m是一个加密过的由于这个请求属于ajax请求,现在我们可以直接使用xhr断点调试找到位置打上断电之后直接分页请求。进入调试直接在右边堆栈中开......
  • GaussDB(for MySQL)新特性TDE发布:支持透明数据加密
    本文分享自华为云社区《GaussDB(forMySQL)新特性TDE发布:支持透明数据加密》,作者:GaussDB数据库。技术背景为了保护数据的安全,我们可能通过防火墙、身份认证、安全权限控制、网络及端口访问控制、传输加密等多种方式对程序运行过程中的各个环节进行安全防控,但这些并不能保证数据静......
  • 使用Jsoup的Java网络爬虫示例:抓取在线考试平台试题数据
    网络爬虫是一种强大的工具,用于从互联网上收集信息。而在Java中,Jsoup是一款常用的HTML解析库,提供了便捷的API来解析、提取和操作HTML数据。在本文中,我们将深入探讨如何利用Jsoup库构建一个Java网络爬虫,并使用代理服务器来抓取在线考试平台的试题数据。介绍Jsoup和网络爬虫首先,我们将......
  • JS加密/解密之常见的JS代码加密
    在软件开发领域,混淆(JS)是一种常见的技术,通过改变代码结构、命名和逻辑,增加代码的复杂性,使其对于逆向工程者变得更加困难。然而,有时候开发者可能需要解开混淆,以便理解、维护或修改代码。在本文中,我们将简要讨论一些可能用于obfuscated代码解密的基本逻辑。JS解密的基本思路JS代码......
  • Threejs——十四、关于深度冲突、重叠、以及加载模型进度条效果实现(附完整代码)
    深度冲突两个模型重叠的模型,通过浏览器旋转预览,会发现模型旋转的时候会发生闪烁。这种情况,主要是两个模型重合,电脑分不清谁在前谁在后,这种情况,可以理解为深度冲突Z-fighting。functionaddBox(){constgeometry=newTHREE.BoxGeometry(10,10,10);//材质constmater......
  • 前端学习笔记202311学习笔记第一百贰拾伍天-nodejs-获取请求参数5
    ......