精华内容
下载资源
问答
  • 后续的一个包,也没什么有用信息,看到 session 这部分,应该是base64编码,尝试了解码未得到结果,登录成功后,尝试其他功能看能否得到有用信息 修改密码部分,网页源码中有端倪 访问地址,发现更多有用信息,...
    1. 进入靶场,没什么特殊页面,如果运气足够好的话,账号:admin,密码:123,否则注册一个用户,然后登录抓包,看能否得到有用信息
      在这里插入图片描述
      后续的一个包,也没什么有用信息,看到 session 这部分,应该是base64编码,尝试了解码未得到结果,登录成功后,尝试其他功能看能否得到有用信息

    2. 修改密码部分,网页源码中有端倪
      在这里插入图片描述
      访问地址,发现更多有用信息,flask 是 python 的 web 端框架,赶紧搜索了一下 flask session
      Flask的session使用

    3. 利用
      flask中session是存储在客户端cookie中的,也就是存储在本地。flask仅仅对数据进行了签名。签名的作用是防篡改,而无法防止被读取。而flask并没有提供加密操作,所以其session的全部内容都是可以在客户端读取的,这就可能造成一些安全问题。

       (1)session 可以设置/获取
       (2)需要在 config.py 文件中配置 SECRET_KEY 
       (3)可以进行伪造,网上找一下 flask session 的伪造方法
      

      flask session 加密解密工具

    4. 取用我们自己注册的用户登录成功的 session 进行解密,如下
      在这里插入图片描述

    根据题目可知,登录管理员账户应该可得 flag,审计代码的结果发现,在 index.html 中也有提到
    在这里插入图片描述
    在这里插入图片描述
    那么我们就用上述解密得到的结果,修改用户名为 admin,再加上 SECRET_KEY 进行加密,伪造 payload

    SECRET_KEY 在 config.py 中位 ckj123

    import os
    
    class Config(object):
        SECRET_KEY = os.environ.get('SECRET_KEY') or 'ckj123'
        SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:adsl1234@db:3306/test'
        SQLALCHEMY_TRACK_MODIFICATIONS = True
    
    1. 根据以上信息,伪造 session
      在这里插入图片描述
      重新登录,bp 抓包,用伪造的 session 替换原来的 session 即可
      在这里插入图片描述
      在这里插入图片描述

    2. 在代码审计的时候,我们发现,注册、登录和修改密码处,都对用户名进行了小写转化~~
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    3. 此处应当可做文章,假设第一次注册时,输入用户名转化为 ADMIN ,我们再去修改密码时转化为 admin,这样不就可以绕过登录和注册界面直接修改 admin 密码了么?因此进行 Unicode 编码欺骗;这里原理就是利用nodeprep.prepare函数会将unicode字符ᴬ转换成A,而A在调用一次nodeprep.prepare函数会把A转换成a。

    ᴬᴰᴹᴵᴺ -> ADMIN -> admin
    

    用 ᴬᴰᴹᴵᴺ 注册并登录,然后修改密码,即可修改 admin 用户密码

    1. 总结
      Unicode 编码未接触过的东西,搞的有疲惫,ᴬᴰᴹᴵᴺ 这个东西真不好找啊,浪费很长时间在Unicode编码上
    展开全文
  • (1)对wx.getUserInfo()接口得到“用户信息中的密文”进行解密。 (2)对它“稍作处理”,用作维护小程序的登录态。 “稍微处理”大体为: (1)生成一个随机数(官方把他叫做3rd_session) (2)把这个随机数当...
  • [置顶] laravel 框架session id解密算法

    千次阅读 2016-08-25 17:28:36
    $encrypter = new Illuminate\Encryption\Encrypter('qianzhudecangshu');... $session_filename = $encrypter->decrypt($_COOKIE['cangshu']); var_dump($session_filename);exit;  上面那个是第三方的库 htt
    $encrypter = new Illuminate\Encryption\Encrypter('qianzhudecangshu');
            $session_filename = $encrypter->decrypt($_COOKIE['cangshu']);
            var_dump($session_filename);exit;

     上面那个是第三方的库 https://github.com/illuminate/encryption 解法,其实也是一个依赖laravel内置实现的封装而已,没啥鸟用

     

    下面这个是 laravel 4.1 内置的库

     

    $b = Crypt::decrypt($_COOKIE['cangshu']);
    		dump($b);
    		
    		$a = Crypt::encrypt('96c65a2077a21ad8e960ba1078641f90e2d93aa1');
    		dump($a);
    		
    		$c = Crypt::decrypt($a);
    dump($c);

     
     

    • 大小: 2.9 KB
    展开全文
  • $encrypter = new Illuminate\Encryption\Encrypter('qianzhudecangshu');... $session_filename = $encrypter->decrypt($_COOKIE['cangshu']); var_dump($session_filename);exit;  上面那个是第三方的...
    $encrypter = new Illuminate\Encryption\Encrypter('qianzhudecangshu');
            $session_filename = $encrypter->decrypt($_COOKIE['cangshu']);
            var_dump($session_filename);exit;

     上面那个是第三方的库 https://github.com/illuminate/encryption 解法,其实也是一个依赖laravel内置实现的封装而已,没啥鸟用

     

    下面这个是 laravel 4.1 内置的库

     

    $b = Crypt::decrypt($_COOKIE['cangshu']);
    		dump($b);
    		
    		$a = Crypt::encrypt('96c65a2077a21ad8e960ba1078641f90e2d93aa1');
    		dump($a);
    		
    		$c = Crypt::decrypt($a);
    dump($c);

     
     

    展开全文
  • flask session破解脚本

    2021-07-10 01:05:19
    #!/usr/bin/env python3 ...from flask.sessions import session_json_serializer from itsdangerous import base64_decode def decryption(payload): payload, sig = payload.rsplit(b'.', 1) payload, timestam.
    #!/usr/bin/env python3
    import sys
    import zlib
    from base64 import b64decode
    from flask.sessions import session_json_serializer
    from itsdangerous import base64_decode
    
    def decryption(payload):
        payload, sig = payload.rsplit(b'.', 1)
        payload, timestamp = payload.rsplit(b'.', 1)
    
        decompress = False
        if payload.startswith(b'.'):
            payload = payload[1:]
            decompress = True
    
        try:
            payload = base64_decode(payload)
        except Exception as e:
            raise Exception('Could not base64 decode the payload because of '
                             'an exception')
    
        if decompress:
            try:
                payload = zlib.decompress(payload)
            except Exception as e:
                raise Exception('Could not zlib decompress the payload before '
                                 'decoding the payload')
    
        return session_json_serializer.loads(payload)
    
    if __name__ == '__main__':
        print(decryption(sys.argv[1].encode()))
    

     

    展开全文
  • session_key官方说明为:session_key是微信服务器生成的针对用户数据进行加密签名的密钥session_key的用途(1)对wx.getUserInfo()接口得到“用户信息中的密文”进行解密。(2)对它“稍作处理”,用作维护小程序的...
  • java解析的源码和小程序的源码,自己从项目中剥离出来的,肯定能用,有疑问私信,微信小程序获取各类信息(openid、session_key以及用户基本信息、解密手机号)
  • Go 语言 微信小程序加密数据解密算法实现 代码实现 本实现参考官方PHP例程实现,Go代码实现如下: func DecryptData (app_id, session_key, iv, encrypted_data string) (map[string]interface{}, error) { ...
  • 2,在自己服务器的接口里边通过调用微信开发者服务器接口可以得到本次登录的会话密钥session_key,然后解密返回 微信开发者服务器请求地址: GET ...
  • Django session 详解

    千次阅读 2016-03-17 10:12:55
    Django中的session是一个高级工具,它可以让用户存储个人信息以便在下次访问网站中使用这些信息。session的基础还是cookie,但是它提供了一些更加高级的功能。请看下面的一个例子: 使用session: 这个例子中实现...
  • php_session_decoder, 在Go中,编写了PHP会话编码器/解码器 php_session_decoderPHP会话编解码器/解码器 安装安装:安装推荐的方法是使用 gonuts.io:nut获取 yvasiyarov/php_session_decoder详细信息,请转到 http:/
  • Java获取openid、session_key以及解密用户私密数据目录1、引入依赖包2、创建工具类(2个:HTTP请求工具类与解密工具类)3、获取openid和session_key(后端)4、解密(后端) 1、引入依赖包    在开始解密之前,需...
  • 会对下面的结果进行操作 https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&...java解密操作 import javax.crypto.BadPaddingException; impor...
  • CRT session密码反解

    2016-04-12 17:23:56
    python VanDyke_SecureCRT_decrypt.py ${session-file} #后面跟的是CRT保存的连接session的ini文件。 举例: # python VanDyke_SecureCRT_decrypt.py xxx.ini xxx.ini ssh user@xxx # 密码 转载于:...
  • python2和python3 session解密不一样,而且不都是base64,脚本https://github.com/ZhangAiQiang/Flask/tree/master/%E8%A7%A3%E5%AF%86session%E8%84%9A%E6%9C%AC 参考文章:https://www.cnblog...
  • 最近在研究小程序,现在有个需求是获取小程序的手机号码,这个获取接口的权限需要用小程序的企业账号操作可以 首先要进行解密之前获取到sessionKey的值 ...var SESSION_KEY = '' //储存获取到session...
  • php session是否存在被破译的可能?

    千次阅读 2015-12-22 13:05:24
    php session是否存在被破译的可能?
  • java微信小程序登录、解密

    千次阅读 2018-07-28 15:43:57
    一。...简单来说,就是小程序端执行wx.login()方法获取临时登录凭证code,带着code访问我们的接口,接口用code访问微信的一个接口得到openid和秘钥session_key; 小程序端可以调用wx.getUserInf...
  • session_key可能会过期,有人为了解决这种问题,采取每次解密都获取最新session_key的操作 但实际中这么操作的时候,会出现问题。(以下为每次都获取最新的流程) 点击登录或注册按钮: wx.login 通过code,调用...
  • 如题,在上一文章中分析了3rd_session和OpenId的关系,为确保随机散列值和OpenId的唯一对应关系,完全可以借助Flask中的itsdangerous 的TimedJSONWebSignatureSerializer来实现这一目标,具体操作流程如下:  ...
  • 使用IntelliJ IDEA创建Spring Boot工程,选择web, redis, session. LoginController.java package com.example.springsessiondemo; import org.springframework.stereotype.Controller; import org.spring...
  • [SIP教程] SDP(Session Description Protocol)会话描述协议SDP用来描述多媒体会话的应用层控制协议,为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述。 是一个基于文本的协议,这样...
  • 之前使用Promise.al(),将wx.login(),wx.getUserProfile(),wx.getUserInfo()但是由于不能保证先调用wx.login(),所以还是会存在校验签名或解密失败问题,为了保证wx.login()方法先执行,进行了以下操作 // 一键授权...
  • 主要介绍了小程序:授权、登录、session_key、unionId的详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了微信小程序后端无法保持session的原因及解决办法问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • #openid生成3rd_session 加密 def get3rd_session(openid): key = Fernet.generate_key() cipher = Fernet(key) encrypted_data = cipher...#3rd_session生成openid 解密 def getopenid_from_session(encrypted_d.
  • 微信小程序分享群获取群id时后端接口返回“微信AES解密失败”,后来定位到原因是服务端用于解密session_key失效。用户获取到openID存在缓存后,就不会每次login获取登录态了,这样会导致登录态失效,即后端维护的...
  • 微信小程序获取openid、session_key以及解密unionId、手机号的目录1、了解小程序启动时的文件加载顺序2、了解小程序自身的API3、发起网络请求与弹窗4、获取openid、session_key5、解密unionId6、解密手机号7、获取...
  • 已解决,可能是重复调用login,导致刷新了session_key,而引起的session_key错位不匹配导致解密不出来。规避一下连续调用login的问题。保证userinfo总是在最后的一次login之后发起和回包 说明:官方PHP版解密demo含...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,858
精华内容 17,943
关键字:

session解密