当前位置: 首页 > 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

相关文章:

  • 竞争加剧,美团的战略升维:反内卷、科技与全球化
  • 力扣每日一题——找到离给定两个节点最近的节点
  • Drawio编辑器二次开发
  • 物流项目第十期(轨迹微服务)
  • redis内存数据库
  • 【cpp-httplib】 安装与使用
  • TIDB创建索引失败 mkdir /tmp/tidb/tmp_ddl-4000/1370: no such file or directory.
  • 全面解析:npm 命令、package.json 结构与 Vite 详解
  • npm、pnpm、yarn使用以及区别
  • 1.3HarmonyOS NEXT统一开发范式与跨端适配:开启高效跨设备应用开发新时代
  • 深度学习赋能图像识别:技术、应用与展望
  • 【C++】22. 红黑树封装实现Mymap和Myset
  • Trust Tickets(跨域信任票据):内网渗透中的Kerberos信任票据滥用技术
  • 编译rustdesk,使用flutter、hwcodec硬件编解码
  • 龙虎榜——20250530
  • Ubuntu本地文件上传github(版本控制)
  • 2025年渗透测试面试题总结-匿名[校招]攻防研究员(应用安全)(题目+回答)
  • 《智慧医疗分级评价方法及标准(2025版)》征求意见函全面解读:人工智能医疗应用的评价体系与指南方向
  • Dify理论+部署+实战
  • python常用库-pandas、Hugging Face的datasets库(大模型之JSONL(JSON Lines))
  • 专业仿站网站建设/惠州seo关键词推广
  • 网站单个页面紧张搜索引擎蜘蛛/搜索引擎营销简称seo
  • 假冒彩票网站开发/网店营销推广
  • js网站统计/免费的网站推广软件
  • 18款禁止未成年软件app/seo顾问服
  • 网站如何做关/西安网约车平台