JS逆向入门案例-XX期刊服务平台登录(含RS6)-01

JS逆向入门案例-XX期刊服务平台登录(含RS6)-01

提示:XX期刊服务平台登录,本站也是一个瑞树6网站,文章最后会讲一下补环境的检测点。


文章目录

  • JS逆向入门案例-XX期刊服务平台登录(含RS6)-01
  • 前言
  • 一、逆向分析
  • 二、python代码
  • 三、首页瑞树6-补环境的检测点
  • 总结


前言

提示:仅供学习,不得用做商业交易,如有侵权请及时联系!

URL:aHR0cHM6Ly9xaWthbi5jcXZpcC5jb20vUWlrYW4vU2VhcmNoL0luZGV4


提示:以下是本篇文章需要逆向的参数
DATA: LoginUserName、LoginUserPassword、va
在这里插入图片描述

一、逆向分析

1. 找到加密参数的位置

  • 搜索
    在这里插入图片描述

  • 堆栈
    在这里插入图片描述

  • 事件
    在这里插入图片描述

  • XHR
    在这里插入图片描述

2. 找到加密参数的位置-分析加密方式
在这里插入图片描述
提示:spdier网站:https://spidertools.cn/#/crypto
在这里插入图片描述

环境需要nodeJs--下载三方库jsencrypt和crypto-js
cmd:npm install xxx
const JSEncrypt = require('jsencrypt');
const CryptJs = require("crypto-js");

function encrypt_data(user,pwd){
    var encrypt = new JSEncrypt();
    encrypt.setPublicKey("-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDesz3GocmDJaF4HZD4xgAMstc0cKz6gSZgEeqQASfoEbx2YY/I0ZTiKhI1BfrStAqAknrqj30jRUenf0HePaS1NrKfrYHBazRwbQnpru2wOuS+N34wlqL16TcQAU6dt/CnIRPb3LSA6kfqVHL/dStH5R0NsuAAnt9sMqJMTs8eVQIDAQAB-----END PUBLIC KEY-----");
    var LoginUserName =  encrypt.encrypt(user),
        va = encrypt.encrypt(pwd),
        LoginUserPassword = encrypt.encrypt(CryptJs.MD5(pwd).toString());
    return {
        "LoginUserName": LoginUserName,
        "LoginUserPassword": LoginUserPassword,
        "va": va
    }
}

二、python代码

代码如下(示例):

import execjs
import requests

user,pwd = 'xxx','xxx'
headers = {
    "authority": "qikan.cqvip.com",
    "pragma": "no-cache",
    "cache-control": "no-cache",
    "accept": "application/json, text/javascript, */*; q=0.01",
    "x-requested-with": "XMLHttpRequest",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
    "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
    "origin": "xxx",
    "sec-fetch-site": "same-origin",
    "sec-fetch-mode": "cors",
    "sec-fetch-dest": "empty",
    "referer": "xxx",
    "accept-language": "zh-CN,zh;q=0.9"
}
url = "https://xxx"
data = {
    "LoginType": "normallogin",
    "IsWeakPassword": "1"
}
data = dict(data,**execjs.compile(open('./encryptLogin.js','r',encoding='utf-8').read()).call('encrypt_data',user,pwd))
response = requests.post(url, headers=headers, data=data)

print(response.text)

最后运行结果
在这里插入图片描述

三、首页瑞树6-补环境的检测点

  1. 文件位置和浏览器版本检测

    ActiveXObject=undefined;
    window.ActivteXObject=undefined;
    delete __filename;
    delete __dirname;
    
  2. dom树

    meta = [
                {
                    'http-equiv':"Content-Type",
                    content:"text/html; charset=utf-8",
                    parentNode:{
                        removeChild:function (){}
                    },
                    getAttribute: function(res){
                        console.log('meta[getAttribute]:', arguments)
                        if(res === 'r'){
                            return "m"
                        }
                    },
                },
                {
                    content:content,
                    parentNode:{
                        removeChild:function (){}
                    },
                    getAttribute: function(res){
                        console.log('meta[getAttribute]:', arguments)
                        if(res === 'r'){
                            return "m"
                        }
                    },
                }
            ]
     script = [
        {
            getAttribute: function(res){
                console.log('script[getAttribute]:', arguments)
                if(res === 'r'){
                    return "m"
                }
            },
            parentElement:{
                removeChild:function (res){
                    console.log('script[removeChild]:', arguments)
                }
            },
            innerText:ts所在的js文件内容,require('./jscq_ts.js')
        }
    ]
    document = {
    	getElementById: function (arg) {
    		if(arg === 'FbkwzLN5XOx0'){
            return meta[1]
       		}
    	},
    	getElementsByTagName:function (arg){
    		if(arg === 'script'){
            	return script
        	}
    	}
    }
    
  3. bom方法

    window.webkitRequestFileSystem = function(){
        return undefined
    }
    window.open = function(){}
    window.badboy = function(){}
    window.XMLHttpRequest = function(){}
    window.Navigator = function (){}
    window.CanvasRenderingContext2D = function (){
        console.log('CanvasRenderingContext2D',arguments)
    }
    window.HTMLCanvasElement = function (){
        console.log('HTMLCanvasElement',arguments)
    }
    
  4. 环境
    在这里插入图片描述

  5. 运行结果
    在这里插入图片描述

其它环境需自行补充,如补过其它RS6的可以讲当前这些环境参数添加进去即可。

总结

提示:有需要可加v:wzwzwz0613

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
### 维普期刊服务平台逆向工程方法 #### 背景介绍 维普期刊服务平台是一个专注于中国学术资源的服务平台,提供了丰富的期刊文章、会议论文和其他类型的文献资料。对于研究该平台的逆向工程方法而言,可以从技术架构、数据交互流程以及用户体验设计等多个角度展开分析。 #### 技术架构剖析 为了理解维普期刊服务平台的工作机制,可以通过对其前端页面结构和后端接口调用模式的研究来实现初步的技术框架还原。通常情况下,现代Web应用采用分层架构设计,具体表现为客户端请求通过API网关到达服务器处理逻辑并最终返回响应给用户[^1]。因此,在实施逆向工程过程中,应重点关注以下几个方面: - **HTML/CSS/JavaScript解析** 使用浏览器开发者工具查看源码文件中的标签定义及其关联样式表规则,同时追踪由脚本加载动态生成的内容部分。 - **网络通信捕获** 利用抓包软件记录下每次操作产生的HTTP(S)流量详情,包括但不限于URL路径参数设置、头部字段配置以及POST体格式说明等信息。这些细节有助于推测实际业务场景下的服务端行为特性。 ```bash # 示例命令用于启动Wireshark进行协议数据分析 wireshark & ``` #### 数据流跟踪与模拟测试 除了静态代码审查外,还需要深入挖掘系统内部的数据流动规律。这一步骤往往涉及编写自定义程序片段或者借助第三方库完成自动化任务执行过程监控。例如,当尝试定位某个特定检索条件对应的结果集构成原理时,可以按照如下思路开展工作: - 构建合理的查询语句组合形式; - 发送标准化格式的消息至指定地址等待回应消息到来; - 对接收到的信息加以整理归纳得出结论依据。 值得注意的是,在整个探索期间务必遵循当地法律法规要求,不得侵犯他人合法权益或破坏网络安全秩序[^3]。 #### 用户界面反编译可能性探讨 尽管图形化展示层面并非传统意义上的“逆向”,但从UI布局到交互反馈机制的设计理念同样值得借鉴学习。如果能够获取应用程序安装包(APK/IPA),则存在一定程度上的解构可行性——即提取原始素材资源重新构建相似外观效果的应用实例[^2]。 然而需要注意的是,未经授权擅自复制模仿商业产品属于违法行为,需谨慎行事以防触犯法律底线。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值