简介

 原题复现:https://github.com/woadsl1234/HCTF2018_admin

 考察知识点:session伪造unicode漏洞、条件竞争

 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题

第一个方法:

打开界面先查看了源码提示 you are not admin 我不是admin 第一感觉就是要admin登陆 于是寻找登陆界面 有个注册页面我们先进行注册

尝试注册admin 结果显示已经有了 我们尝试"admin "后面为空格

点击注册之后就到了这个界面

找到这一行 最右边鼠标移上去有个命令图标点击出现这个 可以执行py 我们输入print(username)

输入printf输出得到账户密码

我们登陆 得到flag

这是应该个非预期....

看看WP的姿势

方法二:session伪造

方法二:session伪造

session伪造 https://www.leavesongs.com/PENETRATION/client-session-security.html

看作者博客说这也是一个非预期的解,管它呢学姿势就OJBK了。

随便注册一个账户 在change修改密码页面发现源码可供下载

https://github.com/woadsl1234/hctf_flask/ 

下载进行分析发现在app\template\index.html发现session['name']=='admin'就能得到falg,所以看wp思路可以进行session伪造 首先寻找secret_key

在app\config.py里面发现了secret_key 只要有这个我们就可以进行session伪造了 因为我们的Flask的session在本地的

下载工具

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

首先获取我们本地的session值

将session值解码:

python .\flask_session_cookie_manager2.py decode -c ".eJw9kE2LwjAURf_K8NYuajqzEVwIsaXCS1FiQ7IRdWrz0ThDW6mN-N8nOODqLe7hXO57wOHS1b2GxdDd6hkczDcsHv
BxggWg3afIi7u05wnJNjCSOZVnjuWVRt46DNpJIe-KKqf4NjKSSK4Ns-cRvYrcRjO6JyVtDYZiYl4GJJmJ1BxtcS8FkngnyXFUNjMql1
_SrlImMJT0RaeRmLO8-FTcTcpiUvKdVnRN0FemzCPDWx37lvCcwbnvLofhx9XX9wTpN7YUqmWxUorKKrsakTdBBu2V2BhGK8dEnCiimq
5TZldENsuXzvhjU79Nu-SX7sf_5Hr0MYCh7geYwa2vu9fbYJ7A8w-kYW1v.Xj-tXQ.GmXzuYTP0IobbVCyI-9xVsc5C5A" -s ckj123

得到:

{u'csrf_token': 'bbc9fe7f5aecf00183c8febb45d5b1ac4817606b', u'user_id': u'10', u'name': u'test', u'image': 'GJCS', u'_fresh': True, u'_id': '257121b723d37addad4ea19d38daf1d6de423f6a8b6702fd4ba45689b3226f33abcf52219c6222a30f1bdf9b075c383fc373c54b8e92f3494ad162eb8cfa9a67'}

在解码的时候我们要将原数据里面的test改成admin 然后在进行重新编码

python .\flask_session_cookie_manager2.py encode -t "{u'csrf_token': 'bbc9fe7f5aecf00183c8febb45d5b1ac4817606b', u'user_id': u'10', u'name': u'admin', u'image': 'GJCS', u'_fresh': True, u'_id': '257121b723d37addad4ea19d38daf1d6de423f6a8b6702fd4ba45689b3226f33abcf52219c6222a30f1bdf9b075c383fc373c54b8e92f3494ad162eb8cfa9a67'}" -s "ckj123" 

得到新的session

.eJw9kE2LwjAURf_K8NYuNJ3ZCC6E2FLhpSix4WUjjlbz0ThDVWoj_vcJDrh6i3s4l_sesD12zcXA9NrdmhFs7QGmD_j4himg22Qoyzu5_YBsFQXLvS5yL4raoGw9RuNJ0V1z7bVcJYYYSWOF2_cYdOKWRvANq3hrMZaDCBSR5TZRE3TlvVLI0h1IYq9dbnVBX-TmmVAYK_6is0RMRFF-aukH7XBcybXRfMEw1LYqEiNbk_pm8BzB_tIdt9cf35zfEygsXaV0K1IlqdppN-9RniJFE7RaWsFrL1SaqJKaLzLh5oxOs5fOht2peZvW41--6f-T8y6kAHaHYM8wgtul6V5_g8kYnn8Rwm24.Xj_KZA.FGcGdsiAkoyhPfzw0dChvF_SR4A

修改原有的session发送得到flag

参考学习:

     作者博客:https://www.ckj123.com/?p=147

     客户端 session 导致的安全问题:https://www.leavesongs.com/PENETRATION/client-session-security.html

     https://www.cnblogs.com/apossin/p/10083937.html

第三种方法:Unicode欺骗(预期解)

看作者wp这才是真正的预期解

作者说按照这个漏洞思路写的

unicode问题,对于一些特殊字符,nodeprep.prepare会进行如下操作

ᴬ -> A -> a

攻击流程:

注册用户ᴬdmin
登录用户ᴬdmin,变成Admin
修改密码Admin,更改了admin的密码

参考学习:https://www.jianshu.com/p/f92311564ad0

第四种方法

111

简介

111

简介

[原题复现]2018HCTF WEB admin(session伪造、unicode漏洞、条件竞争)的更多相关文章

  1. [原题复现]BJDCTF2020 WEB部分全部解

    简介  原题复现:https://gitee.com/xiaohua1998/BJDCTF2020_January  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学 ...

  2. [原题复现+审计][CISCN2019 华北赛区 Day1 Web2]ikun(逻辑漏洞、JWT伪造、python序列化)

    简介  原题复现:  考察知识点:逻辑漏洞.JWT伪造.python反序列化  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台 ...

  3. [原题复现+审计][0CTF 2016] WEB piapiapia(反序列化、数组绕过)[改变序列化长度,导致反序列化漏洞]

    简介  原题复现:  考察知识点:反序列化.数组绕过  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 漏洞学习 数组 ...

  4. [原题复现+审计][SUCTF 2019] WEB CheckIn(上传绕过、.user.ini)

    简介  原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn  考察知识点:上传绕过..user.ini  线上平台:h ...

  5. [原题复现][2020i春秋抗疫赛] WEB blanklist(SQL堆叠注入、handler绕过)

    简介 今天参加i春秋新春抗疫赛 一道web没整出来 啊啊啊 好垃圾啊啊啊啊啊啊啊  晚上看群里赵师傅的buuoj平台太屌了分分钟上线 然后赵师傅还分享了思路用handler语句绕过select过滤.. ...

  6. [原题复现]2018护网杯(WEB)easy_tornado(模板注入)

    简介 原题复现:  考察知识点:模板注入  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 [护网杯 2018]eas ...

  7. [原题复现+审计][BUUCTF 2018]WEB Online Tool(escapeshellarg和escapeshellcmd使用不当导致rce)

    简介  原题复现:https://github.com/glzjin/buuctf_2018_online_tool (环境php5.6.40)  考察知识点:escapeshellarg和escap ...

  8. [原题复现]百度杯CTF比赛 十月场 WEB EXEC(PHP弱类型)

    简介  原题复现:  考察知识点:PHP弱类型.  线上平台:https://www.ichunqiu.com/battalion(i春秋 CTF平台) 过程 看源码发现这个 vim泄露  下方都试了 ...

  9. [原题复现+审计][ZJCTF 2019] WEB NiZhuanSiWei(反序列化、PHP伪协议、数组绕过)

    简介  原题复现:https://github.com/CTFTraining/zjctf_2019_final_web_nizhuansiwei/  考察知识点:反序列化.PHP伪协议.数组绕过   ...

随机推荐

  1. laravel或者lumen门面和服务提供者使用

      关于laravel门面和服务提供者使用的一点见解,门面之词,不足之处,还请多多指教.    在laravel中,我们可能需要用到自己添加的类时,可以建立一个文件夹专门存放类文件,也可以使用lara ...

  2. JavaScript实现异步的4中方法

    一:背景简介 Javascript语言的执行环境是"单线程"(single thread). 所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须 ...

  3. day72:drf:

    目录 1.续:反序列化功能(5-8) 1.用户post类型提交数据,反序列化功能的步骤 2.反序列化功能的局部钩子和全局钩子 局部钩子和全局钩子在序列化器中的使用 反序列化相关校验的执行顺序 3.反序 ...

  4. 深度学习四从循环神经网络入手学习LSTM及GRU

    循环神经网络 简介 循环神经网络(Recurrent Neural Networks, RNN) 是一类用于处理序列数据的神经网络.之前的说的卷积神经网络是专门用于处理网格化数据(例如一个图像)的神经 ...

  5. mysql 架构简介

    mysql的逻辑架构 第一层:进行连接处理.权限认证.安全校验等. 当客户端(应用)连接到mysql服务器时,服务器会创建使用一个线程进行处理连接(少量的线程服务大量的连接),随后服务器需要对该连接进 ...

  6. Django( 学习第三部 Django的url路由层)

    目录 url路由层 路由匹配(有名分组与无名分组) 反向解析 路由分发 名称空间(了解) Django版本区别 url 路由匹配 注意事项: url方法,第一个参数是正则表达式,只要第一个参数能够匹配 ...

  7. IOS8 对flex兼容性问题

    问题: IOS8.2 dispaly:flex:不生效: 注意一下兼容写法的顺序问题,  display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Saf ...

  8. CentOS换yum源为国内源

    CentOS换源 yum源 备份原来的文件. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...

  9. linux-gcc简要知识点 **

    目录 交叉编译 简要知识点 ** 一些概念 GCC编译器 GCC简要使用 GCC编译过程 ** 常用的编译选项 编译多个文件 制作.使用动态库 制作.使用静态库 很有用的选项 参考 交叉编译 使用不同 ...

  10. 《为研发同学定制的MySQL面试指南》-- 连载中

    Hi大家好,我是来自博客园的赐我白日梦! 为大家带来MySQL面试专题!全文110篇!以问答的方式,由浅入深的帮你应对各类MySQL面试题的狂轰滥炸!当然也不乏会分享一些高阶读写分离数据库中间件原理及 ...