首页
社区
课程
招聘
[原创]Sina登录破解[Go语言]
发表于: 2017-3-15 00:29 9609

[原创]Sina登录破解[Go语言]

2017-3-15 00:29
9609

      最近做了一个小破解,仅是练习Go语言之用,不作为其他商业用途,若有不妥欢迎大家指正...


     Sina登录的大致流程如下:

     1、Client发送一个登录请求:4f0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2&6i4K6u0W2M7$3W2F1j5g2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6u0r3M7s2u0G2k6X3W2D9k6g2)9J5c8Y4g2F1L8r3!0Y4K9h3^5`.

     2、Server响应请求,返回Set_Cookies字段要求Client设置下次请求的cookies(ps:这步我忽略了,实则不该省去)

     3、Client请求:

          cc4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4G2k6$3W2F1i4K6u0W2M7$3W2F1j5g2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6u0r3M7%4y4G2i4K6u0r3M7s2u0W2L8r3!0Y4K9h3&6Q4x3X3g2H3K9s2m8Q4x3@1j5`.

          entry=account&callback=pluginSSOController.preloginCallBack&su=base64用户名 

          &rsakt=mod&checkpin=1&client=ssologin.js(v1.4.19)&_= 请求时间戳(我有偷懒省去了) 

     4、Server响应请求,返回一些关键参数servertime、nonce、pubkey、rsakv、account,这些参数是下面发送POST

          请求需要用到的重要参数

     5、根据 pubkey 给 passwd 加密,之后作为一个 sp 字段放在POST包中发送给Server

     6、Client发送POST数据包

     7、Server影响Client,返回一个数据包,retcode标志是否成功,若成功,retcode = 0,若失败,retcode = 非零值


   

   一、登录sina账号链接:51eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2&6i4K6u0W2M7$3W2F1j5g2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6u0r3M7s2u0G2k6X3W2D9k6g2)9J5c8Y4g2F1L8r3!0Y4K9h3^5`.

         由于我省去了cookies设置,所以此处就不放WireShark抓包的图了...


   二、开始登录-->登录界面

         


   三、登录过程,使用截获数据包软件WireShark/BurpSuite,认证成功POST包内容如下:

         

      可以很容易的得出,发送POST包的地址: 729K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4G2k6$3W2F1i4K6u0W2M7$3W2F1j5g2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6u0r3M7%4y4G2i4K6u0r3L8r3!0Y4K9h3&6Q4x3X3g2H3K9s2m8Q4x3@1k6U0L8r3W2W2L8Y4c8Q4x3@1c8K6M7$3!0D9L8$3N6A6L8W2)9J5k6h3A6K6i4K6t1^5N6U0q4Q4x3X3f1@1i4K6u0W2x3e0W2Q4x3U0W2Q4x3U0k6S2L8i4m8Q4x3@1u0Q4y4h3k6Q4x3@1b7`.

      这里是个时间戳,也可以省略,它的效果图是:

              

          解析关键参数:

          1)su : base64加密的用户名

          2)sp : 经过服务器返回的公钥(后面提到)加密的密码

          3)servertime :请求时间戳

          4)nonce : 计算加密密码时候使用

          5)rsakv :其实我也不知道是嘛

          6)sr :当前使用机器分辨率,这里根据自己的机器分辨率修改就可以了

      

        其中,servertime、nonce、rsakv可以从服务器返回,从分析截获数据包可知请求的地址,先上个数据包截图:

       =========>>>请求包 WireShark抓包内容如下:

         

       =========>>>对应的Wireshark抓到的响应包如下:

         

      

        

          得出请求地址:

          cfeK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4G2k6$3W2F1i4K6u0W2M7$3W2F1j5g2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6u0r3M7%4y4G2i4K6u0r3M7s2u0W2L8r3!0Y4K9h3&6Q4x3X3g2H3K9s2m8Q4x3@1j5`.

          entry=account&callback=pluginSSOController.preloginCallBack&su=base64用户名  

          &rsakt=mod&checkpin=1&client=ssologin.js(v1.4.19)&_=      

          上图中Pubkey是比较重要的,是用于加密密码的公钥


    四、下面就是 填充POST包里的参数,发送POST包验证了,没有圈出的POST包参数是固定的,那么最重要的是获取

            servertime、nonce、pubkey、rsakv、account,填充到POST包中的su、sp、servertime、nonce、rsakv 


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (25)
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2

 我这排版有点丑...

2017-3-15 00:32
0
雪    币: 117
活跃值: (57)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
返回的是混淆过的JS怎么办?
2017-3-15 09:23
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
xietao 返回的是混淆过的JS怎么办?
你说的是哪个地方的返回?
2017-3-15 13:15
0
雪    币: 117
活跃值: (57)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
灵雀 你说的是哪个地方的返回?
之前用node.js抓一个页面, 返回的是混效过的js跳转代码
2017-3-15 13:40
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
那你可以百度"js反混淆",解析一下再看
2017-3-15 18:15
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
7
楼主可以改下排版就会清爽很多的
2017-3-15 20:23
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8




仙果

楼主可以改下排版就会清爽很多的

嗯嗯,我再改改,谢谢

2017-3-15 22:36
0
雪    币: 157
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
写的真好
2017-3-16 23:08
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
10
chinacoold 写的真好
谢谢夸奖
2017-3-17 18:53
0
雪    币: 2204
活跃值: (1026)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这个得精华我表示不服怎么办
2017-3-17 19:10
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
12
Crakme 这个得精华我表示不服怎么办[em_13]
2017-3-18 14:49
0
雪    币: 486
活跃值: (2148)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
13
要换工作的话可以联系我哦
2017-3-19 16:10
0
雪    币: 141
活跃值: (193)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
顶顶更健康
2017-3-19 19:01
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
anhuiyuhu 顶顶更健康
嘿嘿,谢谢你帮我顶贴,向大神看齐
2017-3-19 21:31
0
雪    币: 289
活跃值: (82)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
谢谢分享,很好,很详细
2017-3-20 20:38
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
18
zhuangbx 谢谢分享,很好,很详细[em_1]
大神太客气了,大家一起学习
2017-3-20 23:18
0
雪    币: 6483
活跃值: (3452)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
长知识了
2017-3-21 08:34
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
20
marsboys 长知识了
2017-3-21 09:02
0
雪    币: 3118
活跃值: (2606)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
我是来看Go的
2017-3-21 14:07
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
LZ,你的微博ID不打码是想求关注么
2017-3-21 15:30
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
23
kxkris LZ,你的微博ID不打码是想求关注么[em_19]
那个是测试用的
2017-3-21 22:52
0
雪    币: 61
活跃值: (45)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
24
杨剑超 我是来看Go的
共同学习一下撒
2017-3-21 22:52
0
雪    币: 1705
活跃值: (79)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
25
这说明新浪还是明文存储用户口令
2017-3-25 21:48
0
游客
登录 | 注册 方可回帖
返回