【网络爬虫教学】解剖Signature算法

前言

近日,由于项目需要,再次让我碰到了这个名为:Signature的数字签名算法,因之前曾有网友私聊我某站的sig(Signature的简称,亦可能为sign)怎么还原它的算法,所以我想打算就此写一篇文章并分享下它的加密过程以及调试思路,注:本文仅限于学术交流之用,并未特地针对某站或涉嫌任何非法操作的行为,请自行斟酌,如有疑问或者建议,欢迎加入我们的QQ技术交流群:544185435。

Digital Signature是什么?

Digital Signature 译为:数字签名,我们可以想象一下,在一个没有电脑、也没有手机的远古时代里,人们日常交互均采用书信的形式,它们往往在邮递/发送信件给好友之前,都会在署上自己的信息,兹以证明该信件是由自己送出的。

而由于当时的科技非常落后,可以说非常轻松就可以伪造出一封携带某人署名的信件,而接收者也无从分辨是否源于本人的信件,受害者往往会因此而上当受骗,在这个科技发达的时代里,新的签名方式诞生了,它撇开以往的书写习惯,而采用数字化运算来实现,现代化的数字签名是由基于RAS非对称协议加密技术 (公钥+私钥组成),公钥加密,私钥解密,理论上,只要私钥持有者不外泄私钥,别人是没法进行签名伪造的,也就是说当信件落到别人的手里,只要对方没有私钥,它就无法查看信件里的东西从而起到了安全的防护作用。

Signature的组成

在了解了数字签名后,是时候该来探讨下 Signature的算法了,那么我们常见的sig、sign、或直接就是signature算法与签名的数字签名有啥区别吗?

事实上, 它们都是一种数字签名,为防止数据被第三方篡改从而加入的一种网站自我保护措施,不过通常它们在加密前会对摘要进行一次或者多次的Hash运算后才进行RSA加密的,就目前遇到的sig类的加密算法来看,基本上都是由:(摘要(可以是某字段、data、密码或url的部分字段) + Cookie的某字段或userid之类的字段 + 时间戳 )然后对其进行Hash运算(md5或者是Aes均有),得到hash值后再对其进行数字签名运算(部分站点还对密文进行Base64加密)最终取得所谓的sign值。

关于Sign的误区

看到这里可能大家会有个疑问了,不是说数字签名只有私钥持有者才能解密吗,那么那些爬虫是如何得到数据的?

关于这个,我觉得很有必要给大家普及一下,首先,我们知道想要生成一份数字签名,你需要两个key(公钥与私钥),一个是网站端的,一个是分发给浏览器的,无论哪一方进行的加密,另一端只要有私钥,就能解读内容,而这个“浏览器”便是我们的契机,熟悉前端算法的大佬们,可以通过逆向目标站点的JS取得用于加密/解密的一串唯一的key,虽然这个key不是给我们的,但是谁能拦得住你去“偷”啊,偷人家的东西尚且属于违法的,但偷自己的呢?(啊哈哈…..这就有点尴尬了)所以那些爬虫能得到数据是因为它们拿到了私钥,懂了吧!

Sign加密算法入口定位

一般来说要找到签名算法的入口大部分也算较为简单的,先不说入口,我们单从特性来讲,它们基本都是由hash + rsa组成,所以我们找到入口后,基本上可以说已经完成80%的解密了,至于如何定位入口,可以使用快速定位法(关键字、xhr断点、hook)等形式,具体可以参考我往期的文章。前面已经说了,本篇文章不涉及针对任何网站采取任何破坏形式,所以这里就不给大家做演示,基本上遵循以上的法则基本可以取得加密算法,但有一种情况除外,那就是APP的,对于APP我建议大家先到网页端分析一下是否也有该字段,如果有,大可直接从网页端研究,否则,可能需要从app逆向开始啦,最后祝大家好运!


原文转至:IT猫之家,转载请注明出处!

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

推荐阅读更多精彩内容