Python+JS逆向哪里多?必然是登录逻辑,投资界登录pwd参数解析 Y15

举报
梦想橡皮擦 发表于 2022/04/25 12:06:53 2022/04/25
【摘要】 📢📢📢📢📢📢💗 你正在阅读 【梦想橡皮擦】 的博客👍 阅读完毕,可以点点小手赞一下🌻 发现错误,直接评论区中指正吧📆 橡皮擦的第 621 篇原创博客 ⛳️ 本次逆向实战操作最近的几篇博客一直在围绕 JS 反爬进行编制,在这里领域中,登录的密码加密也是很大一块市场,接下来我们会使用几篇博客,系统的研究一下各种奇怪的加密姿势。本次案例目标站点名称:5riF56eR5pWw5o...

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 621 篇原创博客

⛳️ 本次逆向实战操作

最近的几篇博客一直在围绕 JS 反爬进行编制,在这里领域中,登录的密码加密也是很大一块市场,接下来我们会使用几篇博客,系统的研究一下各种奇怪的加密姿势。

  • 本次案例目标站点名称:5riF56eR5pWw5o2u(投资界)Base64 加密;
  • 目标站点:https%3A%2F%2Fuser.pedaily.cn%2Flogin.aspx,(URL 加密)。

登录页面非常简单,如下所示:

由于登录操作之后,页面会产生跳转,对于开发者工具来说,不易直接抓取请求数据,所以我们采用如下方式设置断点。

启动开发者工具,使用标签选择器,点击登录按钮,然后在面板右侧切换到事件绑定器,找到单击事件

跳转到对应的 JS 内部,添加断点,核心代码就在下图红框所示区域。

接下来可以进行第一次跳转(请提前注册一个账号),等待断点停住。

由于代码未混淆,可以直接逐步调试,查看 PWD 参数是在哪里进行的加密。

本案例的请求头如下所示,其中仅 pwd 参数有加密嫌疑

逐步调试之后,很容易发现加密逻辑,代码如下所示:

绿色框即为加密逻辑,我们先搁置一下,因为发现了另一种打断点的形式。在代码中发现一个 JS 函数 .val() ,这是 jQuery 中更改 input 值的函数,基于此,我们还可以添加一个 DOM 属性断点。

DOM 断点添加到一个 id=pwd 的元素上,Elements 如下所示:

< div class = "form-group has-error" >
    <
    input type = "password"
autocomplete = "off"
id = "password"
data - rules = "l:{6,15}:密码长度为6到15个字符"
class = "form-control"
placeholder = "密码" >
    <
    input type = "hidden"
value = ""
id = "pwd"
name = "pwd" >
    <
    span class = "error-info" > 密码长度为615个字符 < /span></div >

这其中有一个隐藏域标签,即 <input type="hidden" value="" id="pwd" name="pwd"> ,该标签用于记录加密之后的密码值。

在标签上右键选择添加中断条件,如下所示。

当出现位置 3 处的蓝色圆点,表示断点添加成功,也可以在右侧 DOM 断点选项卡查看。

登录时发现属性暂停断点被触发之后,开发者工具呈现的状态如下所示:

此时在调用堆栈上可以快速的定位到 beforesubmit 函数,也可以发现如下代码

$("#form_login #pwd").val(hex_sha1($("#form_login #password").val()));

找到加密逻辑之后的操作就非常简单了,只需要将 hex_sha1 加密翻译成 Python 代码即可。

import hashlib

pwd = "你的密码"
hex_sha1 = hashlib.sha1(pwd.encode("utf-8")).hexdigest()
print("sha1加密前 :", pwd)
print("sha1加密后 :", hex_sha1 )

再次查阅请求会发现 pwd 进行了一步大写转换,这个步骤在 Python 里面也是一键实现的。

写在后面

在查询请求的时候,发现请求地址是 handler.ashx ,还有 login.aspx ,竟然是熟悉的 NET 接口逻辑,在多年以前,我也是写 ASP. NET 出身的呢~

📣📣📣📣📣📣
右下角有个大拇指,点赞的帅气加倍

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。