当前位置: 首页 > news >正文

网站首页域名如何设置访问快宿迁沭阳网站建设

网站首页域名如何设置访问快,宿迁沭阳网站建设,wordpress悬浮音乐插件,网站页面多大合适前言:此题请求参数m和x需要逆向,请求时要带上时间戳ts,服务器返回给我们的数据是加密了的,我们需要解密,需要注意,此题含格式化检测和无限debugger。第一步:翻页抓包,你会发现虚拟机…

前言:此题请求参数m和x需要逆向,请求时要带上时间戳ts,服务器返回给我们的数据是加密了的,我们需要解密,需要注意,此题含格式化检测和无限debugger。

  1. 第一步:翻页抓包,你会发现虚拟机执行了一个匿名函数,里面是一个debugger,导致我们未能成功抓包,如图所示:
    在这里插入图片描述
    在这里插入图片描述
  2. 第二步:我们never parse here后翻页抓到数据包,观察到需要逆向m,x参数,还要解密响应密文,如图所示:
    在这里插入图片描述
    在这里插入图片描述
  3. 第三步:定位加密参数方法有很多,这里我选择直接跟栈,如图所示:
    在这里插入图片描述
    在这里插入图片描述
  4. 第四步:扣代码,如图所示:
    在这里插入图片描述
  5. 第五步:补环境,全扣代码难免会要补环境的,如图所示:
    在这里插入图片描述
  6. 第六步:加密参数拿到后,还要去找解密代码在哪里,继续跟栈,如图所示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  7. 第七步:开始写代码,如下:

js代码

const CryptoJS = require('crypto-js');
window = global;
delete global;
console_log = console.log;
window.jQuery = window.$ = function(){}
setInterval = function (){}// 这里未格式化的js代码就不展示了,实在太多……// 拿到加密的请求参数
function get_sign(){const yK = OU, yp = OU, yk = R3, yq = R4, W = {'QCqSI': function(B, Y) {return B + Y;},'uSzcs': function(B, Y) {return B(Y);},'KjfHo': yk(0x25f)};let M = new Date()[yq(0x160)]().toString(), O = window['eeee'](W['QCqSI'](yK(0x2eb, 'nti]'), M)),x = W['uSzcs'](encodeURIComponent, dd['a'][yp(0x231, '3@lG')](W[yp(0x197, '@Q0o')](O, W['KjfHo'])));return [M, O, x];
}
//console_log(get_sign())// 解密密文
function des_data(encrypt_data){return xxxxoooo(encrypt_data)
}

py代码

import asyncio, aiohttp, execjs, jsonclass AsyncSpider(object):def __init__(self):self.url = 'https://www.mashangpa.com/api/problem-detail/7/data/'self.cookies = {'sessionid':'7iz4z3zugx9xbdrm2ykqpfaoswvf7a3o'}self.semaphore = asyncio.Semaphore(3)with open('7_1.js', 'r', encoding='utf-8') as f:self.js_code = execjs.compile(f.read())async def fetch_page(self, session, page):async with self.semaphore:sign = self.js_code.call('get_sign')params = {'page': page,'x': sign[2]}headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36','m': sign[1],'ts': sign[0]}async with session.get(self.url, headers = headers, cookies = self.cookies, params = params, timeout = 10) as res:encrypt_data = await res.json()r = encrypt_data['r']data = json.loads(self.js_code.call('des_data', r))return data.get('current_array', [])async def parse_all_pages(self):total_sum = 0async with aiohttp.ClientSession() as session:tasks = [self.fetch_page(session, page) for page in range(1, 21)]results = await asyncio.gather(*tasks)for array in results:if array:total_sum += sum(array)print(total_sum)if __name__ == '__main__':spider = AsyncSpider()asyncio.run(spider.parse_all_pages())
http://www.dtcms.com/a/569282.html

相关文章:

  • 数据结构 —— 栈
  • 微信小程序开发案例 | 个人相册小程序(下)
  • 网站域名账号网址申请注册
  • 电商 API 数据交互最佳实践:JSON 格式优化、数据校验与异常处理
  • 重庆网站建设 沛宣织梦cms 官方网站
  • 零基础新手小白快速了解掌握服务集群与自动化运维(十七)ELK日志分析模块--Elasticsearch介绍与配置
  • 如何使用elasticdump进行elasticsearch数据还原
  • 【运维记录】Centos 7 基础命令缺失
  • 手写 RPC 框架
  • etcd 高可用分布式键值存储
  • 【ETCD】ETCD单节点二进制部署(TLS)
  • 小网站 收入请简述网站制作流程
  • 抗辐照MCU芯片在无人叉车领域的性能评估与选型建议
  • 什么是LLM?
  • Java/PHP源码解析:一站式上门维修服务系统的全栈实现
  • MPU6050 DMP 移植中 mpu_run_self_test () 自检失败的原因与解决方法
  • 系统端实现看门狗功能
  • 算法--二分查找(二)
  • 没有网站备案可以做诚信认证嘛商城网站大概多少钱
  • 保定市场产品投放策略分析
  • Linux网络——连接、TCP全连接队列TCPdump抓包
  • Firefox 浏览器:引领网络浏览新时代
  • 【个人成长笔记】解决在Linux/Windows系统中 git pull 之后提示有未提交的更改错误信息(亲测有效)
  • 分布式训练一站式入门:DP,DDP,DeepSpeed Zero Stage1/2/3(数据并行篇)
  • 优化网站的目的佛山标书设计制作
  • Slurm:高性能计算集群的调度利器
  • Qt 开发终极坑点手册图表版本
  • 2019阿里java面试题(一)
  • 云手机与云服务器之间的关系
  • 网站建设的经验东莞大岭山楼盘最新价格表