欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]XX招聘-登陆密码分析

[原创]XX招聘-登陆密码分析

XX招聘APP-登陆密码分析

0x01:

话不多说,直接抓取登陆请求:

POST https://mi.xxx.com/android/My/LoginPostPassport?d=5677860f-ce3b-4bda-b2ae-9fd6454d6850&channel=360yingyong&v=7.91&key=135486907212185&t=1531747877&e=8abe76f88a49f281610ebf90059d4563 HTTP/1.1

user_id: 

user_location: 

user_latlon: null;null

device_name: Nexus 5

device_platform: android

device_id: 5677860f-ce3b-4bda-b2ae-9fd6454d6850

device_network: WIFI

device_resolution: 1080:1776

device_time: 2018-07-16 21:31:17

version_name: 7.91

version_code: 791

build_number: 0

channel_id: 360yingyong

Content-Length: 44

Content-Type: application/x-www-form-urlencoded

Host: 

Connection: Keep-Alive

User-Agent: kooxiv

Accept-Encoding: gzip

password=a67266746b6568&userName=13800138000

HTTP/1.1 210

Server: openresty

Date: Mon, 16 Jul 2018 13:31:17 GMT

Content-Type: application/json; charset=utf-8

Content-Length: 109

Connection: keep-alive

Cache-Control: private

X-AspNetMvc-Version: 3.0

X-AspNet-Version: 4.0.30319

X-Powered-By: ASP.NET

{"User":null,"NeedVerifyCode":false,"StatusCode":210,"StatusDescription":"账号不存在,请重新输入"}

0x02:

  1. 密码输入的是a123456
  2. 查看apk没加壳 直接拖入jadx反编译分析,最后确认它是使用so里的encryptPwd方法进行加密的密码
  3. 废话不多说,直接上IDA 为了便于查看代码,直接F5查看伪C代码
  4. 函数很简洁,只调用了一个encrypt_pwd,点击进去看一看
  5. 这里又调用了一个encrypt_pwd_elementat,作用如上图中的注释

0x03:

看来重点就在于sprintf(&s, "%2x", v6 + v4);语句

那么,我们来分析下这条语句

sprintf()函数用于将格式化的数据写入字符串,其原型为:

    int sprintf(char *str, char * format [, argument, ...]);

【参数】str为要写入的字符串;format为格式化字符串,与printf()函数相同;argument为变量。

参数str   是保存结果的char*,

参数"%2x"  x代表以十六进制形式输出,2表示不足两位,前面补0输出

那么重点来了

v6 + v4是什么鬼?

注意看,伪代码中有while循环,内部有个break语句

说明它其实是个for循环,循环的次数就是密码的长度

当循环第一次时

V6,就是密码首位的byte值

V4,就是"EA4A702427934604867F6726FFA189370C0E9C3573AF4806B759773C4DD1ED6A"首位的byte值

最后转换成hex数据,

这就是为什么,输入密码a123456,加密后变成14位的原因

0x04:

  1. 好了,分析到这里完成,我们去用C 还原一下加密过程:
  2. 输出结果与抓取的请求一致

0x05: 仅供新手参考!

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功