xia0chun
V2EX  ›  问与答

关于两段加密数据,有谁能看出来加密方式吗?

  •  
  •   xia0chun · Jan 6, 2016 · 4152 views
    This topic created in 3807 days ago, the information mentioned may be changed or developed.
    因工作需要大量查询一批手机号的余额,之前是通过抓中国移动手机客户端的数据来用程序模拟移动客户端进行查询的,奈何元旦之后移动客户端升级了,再次抓包之后发现手机密码段的加密方式变了。

    数据 1 : TSqtMYkhZ9HiJ/ltpTSW1XA1wddqg12AGM7U3H03i495Qu0BeopKcYvGF83XrwasuYQvA8xdmZJ14BA/nihBIIVmLPW8ruItFV5Km5aTUbxBqXzDWmAwlEoxoQJgb/cmlGop1t1RYjzQtNajmMgw/fI6R2jLGzozUm/GWP9jPUc=

    数据 2 :
    iFoa9WcKquDtEj5AIqcexRbWKFK+qpB4B7cFwm2ZwWQMKhKoCVlB4AnmAK3A6bWbQxTgt6yRNcSI0XphKf0/hW8K3Kj+EdWynYWVVmu+mn2fy6ab3RqPJeaO0QKX+TGEprqHT8TFmw6fH7wl32T4J1JMlh+rJ7Kk604TU2vSmw0=

    这两段就是抓包得来的登录过程中客户端向服务器提交的密码,已知该手机号的密码是“ 123123 ”,怀疑是混合了当前时间,因为过一段时间之后再用当前密码登录就会提示超时。

    由于本人才疏学浅,有哪位朋友能帮忙吗?在此先行感谢。

    ps :有没有办法逆向工程移动客户端得到加密方式?
    Supplement 1  ·  Jan 6, 2016
    又抓了几组数据,完全没有共同点,唯一的共同点应该是最后一位都是“=”

    2016-01-06 10:52:25
    e3RBGq541jmRlHgm5EKbxK2lDFZeda6BmO79GyKNLUN\/ooDzNAt5VEwwO3tJqXLwGI8xkBhGTnX3tTUlxcilmn+bTqdfECv4HV60dNoUNlwcmOrD+6WXBWzwi9k\/HSjC+EbVZ45x4JHrm12dZoXc8MeUJOZUUhO4iZmJZiflX2k=

    2016-01-06 10:54:14
    YxRmpSG8nPAEn9dBwAgYPsDamytXKBUpy7WxvsBLYE0u2LSZuc3Id7O4ji3IpsHe3WNMDeMRUucgBBoJdNv8rPRKfF70q5L9Dxiz9IbmveOdG\/A4ubetXoUohJ0msKSfNdIGyykZnK7JofX0iKLy1VrBEVPOVkn2ViEQMOkIAJw=

    2016-01-06 10:56:18
    KWmymOdxDRsq0bDjJpXWb3YdAqPmcDwWkS+aellkRwugid6NA8hUiAEHMO\/NvyRj5k6Jx+Eqc+uc3DOEPGGJtuyVH0MsAqdbrD7lNDw6+tbQulxzO6XR9LztujMyse3CVWREyrKWiUzGzNOX9AF76EHmtgQhnJAOd2UuJ++Q2os=
    25 replies    2016-01-06 20:21:43 +08:00
    lution
        1
    lution  
       Jan 6, 2016
    第一眼看以为是 base64 编码,但是试了一下不是,不过加密的方式也许是同一个思路。因为移动拿回来密文之后至少需要解密出里面包含的时间戳和密码,所以很大程度这个加密 /解密方式是可逆的。

    如果从客户端下手的话,找个安卓客户端尝试反编译找一下登陆这块对密码加密的算法是最直接的,如果行不通的话,反向可以试试多提交几组密码,记住对应的时间戳,或者两台设备,在同一秒提交提交位数相同的弱口令( 8 个 1 , 8 个 2 )看一下密文的规律。

    对这个挺感兴趣的,楼主不妨再放些数据来讨论下。
    47jm9ozp
        2
    47jm9ozp  
       Jan 6, 2016
    感觉像 AES 后 base64 编码
    gclover
        3
    gclover  
       Jan 6, 2016
    能提供下原来的密文和加密方式吗,移动这种规模的一般不会大概,所以我才加密方式可能改动不大,只是加了盐
    47jm9ozp
        4
    47jm9ozp  
       Jan 6, 2016
    只看这个很难猜,上反编译吧
    xia0chun
        5
    xia0chun  
    OP
       Jan 6, 2016
    @lution 又抓了几组数据,完全没有共同点,唯一的共同点应该是最后一位都是“=”

    2016-01-06 10:52:25
    e3RBGq541jmRlHgm5EKbxK2lDFZeda6BmO79GyKNLUN\/ooDzNAt5VEwwO3tJqXLwGI8xkBhGTnX3tTUlxcilmn+bTqdfECv4HV60dNoUNlwcmOrD+6WXBWzwi9k\/HSjC+EbVZ45x4JHrm12dZoXc8MeUJOZUUhO4iZmJZiflX2k=

    2016-01-06 10:54:14
    YxRmpSG8nPAEn9dBwAgYPsDamytXKBUpy7WxvsBLYE0u2LSZuc3Id7O4ji3IpsHe3WNMDeMRUucgBBoJdNv8rPRKfF70q5L9Dxiz9IbmveOdG\/A4ubetXoUohJ0msKSfNdIGyykZnK7JofX0iKLy1VrBEVPOVkn2ViEQMOkIAJw=

    2016-01-06 10:56:18
    KWmymOdxDRsq0bDjJpXWb3YdAqPmcDwWkS+aellkRwugid6NA8hUiAEHMO\/NvyRj5k6Jx+Eqc+uc3DOEPGGJtuyVH0MsAqdbrD7lNDw6+tbQulxzO6XR9LztujMyse3CVWREyrKWiUzGzNOX9AF76EHmtgQhnJAOd2UuJ++Q2os=

    对 Java 一窍不通,因此逆向 APK 也做不到呀 :(
    xia0chun
        6
    xia0chun  
    OP
       Jan 6, 2016
    @gclover 手机的密码是“ 123123 ”,密文就是文中提到的数据。不知道明文中包含多少数据,猜测含有当前时间。
    gclover
        7
    gclover  
       Jan 6, 2016
    @xia0chun 我意思是他们客户端升级之前你们抓的包
    xia0chun
        8
    xia0chun  
    OP
       Jan 6, 2016
    @gclover
    之前抓到的也是一段密文如下,只不过是固定不变的,应该是不包含时间戳,所以只需要把该密文依样发过去就可以了,现在每次的密文是变化的,超时就会失效。

    A/yMrYPDyBU2qQKm0XU1koTE9xxN46My1bHU/zOOeQLhkYYTcEuu0OF31r1v5hqhwHn27RZY9piSnaQTPqGZAP4iDUWQy+nnZ0Tz+/Nim1edMhypBYANW3jo5h+Kd22fCabRREGIYL5coE/iKDtDVRAa1xxJC+U/BeP6OC/CfPM=
    leozy2014
        9
    leozy2014  
       Jan 6, 2016
    貌似移动交话费的私人网点有移动 vpn 内网,找朋友借用,直接从系统查,方便多了。。。
    xia0chun
        10
    xia0chun  
    OP
       Jan 6, 2016
    @leozy2014 我们的系统中有 4000+号码,并且结账日还不相同,因此需要两三天就查一次以防欠费,之前也找过移动公司,但是人家不给开接口....
    mug
        11
    mug  
       Jan 6, 2016
    除了反编译客户端看代码应该没其它方法了。
    nilai
        12
    nilai  
       Jan 6, 2016
    AES  如果更安全点的就应该是 rsa+aes 了
    felixzhu
        13
    felixzhu  
       Jan 6, 2016
    我推荐楼主找找移动端网页来看,一般来说网页版是比较好分析的
    royzheng
        14
    royzheng  
       Jan 6, 2016
    楼主 联系方式?我也正在研究这个 共同讨论下
    xiaoding
        15
    xiaoding  
       Jan 6, 2016
    加密方式应该是 aes
    base64 不是一种加密方式,只是一种编码方式,起不到加密的作用
    一般最后的 = 或者==都是占位符,因为 base64 , ase256 等等都需要字符串是特定长度的整数倍
    如果对于楼主来说逆向 apk 比较麻烦,不妨换个思路,移动的接口千千万,木桶理论,总归能找到比较弱的接口,我这里有,但是我也要用,就不透露了~
    jasontse
        16
    jasontse  
       Jan 6, 2016 via iPad
    Rijndael?
    akira
        17
    akira  
       Jan 6, 2016
    最简单的办法肯定是找人帮你逆向出算法了,要么就是去找 web 接口。
    lshero
        18
    lshero  
       Jan 6, 2016
    加密后就别想着解密了,从网上营业厅或者 WAP 的角度入手吧
    robinlovemaggie
        19
    robinlovemaggie  
       Jan 6, 2016
    登录一般是双向非对称加密,非登录一般是对称加密,前者是 rsa ,后者 aes
    目前几乎没有技术可以做到 rsa-1024 破解吧?除非你有足够强的计算能力和时间
    ayouwei
        20
    ayouwei  
       Jan 6, 2016
    应该是用 base64 编码过的密文, 可能 rsa 或者 aes 加密过,反向很难吧
    des
        21
    des  
       Jan 6, 2016
    可以肯定的是 base64 编码过的密文,
    然后是块加密, 因为 base64 解码后长度均为 128 位, 比较符合特征

    另外楼主可以试试用特殊字符行不, 感觉像是 aes
    realityone
        22
    realityone  
       Jan 6, 2016
    倒是留个客户端啊。。
    ayouwei
        24
    ayouwei  
       Jan 6, 2016
    撸了一下, 密文特征跟 rsa-1024 加密比较相符。 要算出私钥得好几年吧
    free9fw
        25
    free9fw  
       Jan 6, 2016
    RSA
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4289 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 05:31 · PVG 13:31 · LAX 22:31 · JFK 01:31
    ♥ Do have faith in what you're doing.