解压密码 : kanxue 解压密码是看雪的拼音 : kanxue 目标概述: 1, 首先,需要登录才能操作. 搜索的关键字是 万达集团
2, 开启xhr 请求. 这个就是我们需要的接口.
目标接口 : 4daK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2^5P5s2S2^5 .com/api/search/searchMulti, 我们看到响应正常. 我们看看有哪些请求 参数?
请求头中的参数.
一共两个字段.
43d930d400d14394164a : 4e12473f5cb87ba5a5271b9f3f70c3115e9ed0bc771b4461398a82873a75d48d68d9200758c2bbace59ea8fab7063dde34ad5ee2e346a5be8bb6676895ad7be6
x-pid : fc280becab404310fe61547ab0f3e424
基础知识:
这个是在请求头中设置的.
exp.setRequestHeader('key', 'valude') //方式1
exp.headers['key'] = 'valude' // 方式2
exp.headers = {'key','valude'} // 方式3
找出分析字段
查找关键词的方法.
我们请求一下,看看 这个 43d930d400d14394164a 这个头是不是 固定的?
x-pid: fc280becab404310fe61547ab0f3e424
d4a47fe8c28bcc2588cc : 4f179b8a1b39380128261e80dcf578c92f08b279d82cf5bd0b31c3c95d059f347caad5514cb74eea66a93f305b0a0c7b1aede7d3efe0bbbf17d2db25f1840e4a
通过对比,可以知道, x-pid 可以不用找了,他是一个固定.
唯一每次请求都要发生变化的就是 这个数字的这个位置.
这 x-pid 给他下个断点.
这里看到更像url 组合的地方,我们给他下个断点.
又是一个 x-pid, 下断
jquery ,可以不用看了,这是 一个js库, 第三方的和 qcc没有关系.
我们跑起来看看.
fc280becab404310fe61547ab0f3e424
这个 Windows.pid 他是固定的. 看看 他直接赋值给了 x-pid
"4f179b8a1b39380128261e80dcf578c92f08b279d82cf5bd0b31c3c95d059f347caad5514cb74eea66a93f305b0a0c7b1aede7d3efe0bbbf17d2db25f1840e4a"
// 看来这个生成的位置找到了.
我们需要知道这个l值是怎么来的.
var i = (0, o.default)(t, e.data) ,
l = (0, r.default)(t, e.data, (0, s.default)());
e.headers[i] = l // i = "d4a47fe8c28bcc2588cc" 那么 请求头中的 这个 纯16进制的字符串都在这里生成的.我们需要慢慢寻找
定位就在里面了.
所以 找到 i 和 l 赋值的位置我们就知道了 它的生成过程.
最重要的 是 o.default r.default s.default 分别是什么?
下断点 完毕,我们进入下一个步骤.
我们找到了的话,就撤销无用的 bp
这里和 l 的值高度相关,我们也要探秘所有的相关的运算的函数.
_createHmacHelper: function(t) {
return function(e, n) {
return new p.HMAC.init(t,n).finalize(e)
}
}
最核心的表达式就是这个区块. 这个就是我们需要寻找的目标.
>new p.HMAC.init(t,n).finalize(e) 这个计算后, 就是 Hmac 算法的 幻数.
'a00568f1b3fa007f8565a258be6b0973c5293d76010e6d37a1986dee5fae93dddf282f670b2613136ab3e6104379a1a425afb42c19bb0df03aa80bbf336e1d6d'
a00568f1b3fa007f8565a258be6b0973c5293d76010e6d37a1986dee5fae93dddf282f670b2613136ab3e6104379a1a425afb42c19bb0df03aa80bbf336e1d6d
这个就是128位, 如果128位算法的话,就是 Hmac的SHA512 算法.
t : {blockSize: 32, _doReset: ?, _doProcessBlock: ?, _doFinalize: ?, clone: ?,?…}$super: {cfg: {…}, init: ?, reset: ?, update: ?, finalize: ?,?…}blockSize: 32clone: ? ()init: ? ()_doFinalize: ? ()_doProcessBlock: ? (t,e)_doReset: ? ()[[Prototype]]: Object
n : 'iLAgiLklNiBl4LklN86rALvlgvk6iLAgiLklNiBl4LklN86rALvlgvk6' //这个就是加密的key
e : '/api/user/getusercompanyinfopathString{"keynos":["befe52d9753b511b6aef5e33fe00f97d","52ab9321ae2fc33034faa5b32b642f75","eb6e4d0d990ed05670f65eccad73feb2","07f9b1dc5213f1ddec6862917b4348e4","c6a82e37e98b3501b1246dec9a09f376","faa238037c6cdf4367d52ae97c9b98a6","264084c817c76e003bf2501537e364b9","c6c109b080025ff0b5092ae6396bccbb","dcf5109629a637be741bf8033c3408c0","3044071874b3c9ce565cd598069e6351","f0cb34f96d131f0f6c322d8f5ea3d3ea","d88c2105c23f4bb7bd533c7b919c8d7c","00274c4f4315d2034e3a1f4dc8d28a59","dc1fee6d7bd83614e75deb242cc7138b","b1de8fe0d93c08d70fc0f8461d24f960","100ba81e4e3c870682bc7500d4e0ae7d","b58b2679b3c8f0354bbbbb10eaa3342e","9e4ac02a065d775feec7c253d6eceaec","ae795aefd4be177ba733c7daba60f2af","6dbb9c5f55b311afa97374fb7255a282"]}82bf4a689a0756f3840bc23cdb2e09b1'
// 这个就是待加密的 明文.
e40fa9edd30890541056
ok ,全部一致,就是 HmacSHA512 , 长度是128位.
案例理解:
对于这个项目 2年了 算法基本没有变过, 是先看了课程, 真的是一帧一帧看的, 虽然简单,但是不能妄自菲薄, 说要研究 安卓逆向, iOS逆向,都是浮云. 先一步步让我们把 地基打牢固再说下一步. 在我的 过去的几年中, 有个兄弟已经上岸了, 对着感兴趣的事情进行死磕. 今晚做这个 文章的时候, 真的有点不想写了, 做逆向的兄弟 他们真的是抱着一份热爱在做一份事情,而不是为了 为了钱而去逼着自己学习.
所以热爱.如果不热爱, 屁股是坐不热的. 所以人不要眼高手低.
耐得住寂寞, 能够心无旁鹫做事情, 那么工作的机会将是一大把一大把的跟着你.
注: 拒绝 AI 全量分析, 从你我做起.
传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!
最后于 10小时前
被calleng编辑
,原因: 内容有更新.
上传的附件: