58同城post登陆参数分析,典型的eval加密js案例

58同城的前端登陆js处理还有很有自己的特色的,藏匿了关键的js语句、同时混插了html源码和js,搜索关键词基本上都是html源码,但是还有事方法还原post参数的来源,下面我们一步步分析。

image

首先抓个post包看看有哪些参数

source: passportpassword: 42ef99ddfcfed534a8c9f9745d853451802ec173ff6b39914e219912ca90942130fe0fd220e7aa6d29e67ff29b6ec038f8f489c542ae544dea172aa7a54ad3dd560c7d1d20ce3289d1015cd7839c0d3d9fc7574be3d6fa53c84270c6aa0f8ffd436ced4a2434dc4b95e7e21b5bae4ea180580fa6db483dbb2aa8dc87f0b8ace4timesign: isremember: falsecallback: successFunyzmstate: fingerprint: 745425B5EABE10D036C02171090EC40FC1D13ECB0F632851_011path: https://cd.58.com/?pts=1547035234514finger2: zh-CN|24|1|4|1366_768|1366_728|-480|1|1|1|undefined|1|unknown|Win32|unknown|3|false|false|false|false|false|0_false_false|d41d8cd98f00b204e9800998ecf8427e|d21717e01c541ae877c90b4be8200041username: 18328491111validcode: vcodekey: btnSubmit: 登录中...

就从这个包我们可以大致分析一下:

password是RSA加密的样子,需要分析

fingerprint像一个身份ID,需要分析

path像一个固定字符串加上时间戳,不需要分析

finger2感觉像浏览器的一些环境信息可以做固定值,不需要分析

明确我们需要分析两个字段password、fingerprint

全局搜索一下password关键词,看看那些地方出现过

image
image

只有上面两处很可疑,但是很明显难以顺藤摸瓜了,尝试了很多关键词以后,没有结果,然后在看网站文件结构倒还发现了一些东西。

image

login文件夹下有个rsa的文件,那很明显就是密码加密所用的RSA了,打开看看

image

果然不简单eval开头,在看看这js文件内容:

image

关键信息都是编码了的,无法直接搜索,先eval解密,解密之后就很好辨认了

image

再看eval解密后的js文件尾部,有下面一个函数

function encryptString(str, e, m) {    var key = RSAUtils.getKeyPair(e, '', m);    return RSAUtils.encryptedString(key, str)}

这就是熟悉不过的RSA加密方式了,那现在从RSA加密逆向搜索encryptString关键词,还真找到了有用信息

 var timesign = (new Date).getTime() + timespan;                $("#p1User").val(encryptString(timesign + encodeURIComponent($("#passwordUser").val()), $("#rsaExponent").val(), $("#rsaModulus").val()));                $("#password_value").val($("#passwordUser").val());                $("#btnSubmitUser").val("登录中...");                $("#usernameUser").addClass("fontcolor_cccUser").attr("readonly", "readonly");                $("#passwordUser").val("").addClass("fontcolor_cccUser").attr("readonly", "readonly");

其中关键js代码:

 encryptString(timesign + encodeURIComponent($("#passwordUser").val()), $("#rsaExponent").val(), $("#rsaModulus").val())

这就是密码加密的方式无疑,没有涉及到一个关键词,要搜索关键词定位js的话是不可能的;("#passwordUser").val()),("#rsaExponent").val(), $("#rsaModulus").val(),这三个参数分别是从页面获取id为passwordUser、rsaExponent、rsaModulus的值,那我们去和html搜索这三个关键词分别得到下面信息:

用户输入的密码

image

RSA加密偏移量01001

image

RSA密钥

image

那这三个RSA加密的参数有了,加密过程就不复述了。

var timespan = 1411093327735 - (new Date).getTime();var timesign = (new Date).getTime() + timespan;var pwd = encryptString(timesign + encodeURIComponent(password, iv, pubkey);

接着来看fingerprint字段

全局搜索fingerprint或者其值都没有发现有可用的信息,最后实在没招了,才想起来还cookie没看,然后在cookie中找到了有用信息

image

ppStore_fingerprint经过URL解码后加上+011就是fingerprint

至于validcode、vcodekey几个字段在没有验证码的情况下都是空;

总体来说58同城的前端加密还是有点意思的,至少要让很大部分人琢磨好一会了,文中只是分析了整个流程,由于时间限制没有用python进行验证,有兴趣的网友可以试试,同时可以保持交流和学习。


ID:Python之战

|作|者|公(zhong)号:python之战

专注Python,专注于网络爬虫、RPA的学习-践行-总结

喜欢研究技术瓶颈并分享,欢迎围观,共同学习。

独学而无友,则孤陋而寡闻!


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容