newstarCTF2025_week1(web and misc)

xhxbb Lv1

Web

multi-headach3

访问/robots.txt,接着访问/hidden.php,但是重定向了,查看相应头,得到flag。


宇宙的中心是php

抓个包发现路径/s3kret.php

1
2
3
4
5
6
7
8
9
10
11
<?php
highlight_file(__FILE__);
include "flag.php";
if(isset($_POST['newstar2025'])){
$answer = $_POST['newstar2025'];
if(intval($answer)!=47&&intval($answer,0)==47){
echo $flag;
}else{
echo "你还未参透奥秘";
}
}

intval() 是 PHP 中用于获取变量整数值的函数,它可以将各种类型的值转换为整数。(将不同进制转换为十进制整数)。intval($answer,0),当 intval() 的第二个参数设置为 0 时,函数会根据字符串的格式自动检测进制。

1
2
3
4
5
6
7
8
9
<?php
$tests = ['47', '047', '0x2f', '0X2F', '0b101111'];
foreach($tests as $t){
echo $t," => intval=",
intval($t),
" intval(,0)=",
intval($t,0),
PHP_EOL;
}

0x2f满足条件

hackbar提交即可获得flag。

别笑你也过不了第二关

1
2
3
4
score = 1000000;
currentLevel = 1;
endLevel();
//控制台中输入

我真得控制你了

抓包后让ai来审计前端代码,有保护层,书签绕过

1
javascript:(function(){document.getElementById('shieldOverlay')?.remove();document.getElementById(%27accessButton%27).disabled=false;document.getElementById(%27accessButton%27).classList.add(%27active%27);})()

ai解析:

  1. javascript: 协议
1
javascript:代码内容
  • 这是浏览器支持的特殊协议
  • 允许在地址栏或书签中直接执行JavaScript代码
  • 相当于在当前页面注入并执行脚本
  1. 立即执行函数

javascript

1
(function(){ ... })()
  • 创建一个匿名函数并立即执行
  • 避免污染全局作用域
  1. 移除保护层

javascript

1
document.getElementById('shieldOverlay')?.remove();
  • ?. 是可选链操作符,如果元素存在才执行remove()
  • 直接删除遮挡的DOM元素
  1. 启用按钮

javascript

1
2
document.getElementById('accessButton').disabled = false;
document.getElementById('accessButton').classList.add('active');
  • 移除按钮的禁用状态
  • 添加激活样式类

接着,下一关弱口令爆破即可,获得密码。

接着

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
error_reporting(0);

function generate_dynamic_flag($secret) {
return getenv("ICQ_FLAG") ?: 'default_flag';
}


if (isset($_GET['newstar'])) {
$input = $_GET['newstar'];

if (is_array($input)) {
die("恭喜掌握新姿势");
}


if (preg_match('/[^\d*\/~()\s]/', $input)) {
die("老套路了,行不行啊");
}


if (preg_match('/^[\d\s]+$/', $input)) {
die("请输入有效的表达式");
}

$test = 0;
try {
@eval("\$test = $input;");
} catch (Error $e) {
die("表达式错误");
}

if ($test == 2025) {
$flag = generate_dynamic_flag($flag_secret);
echo "<div class='success'>拿下flag!</div>";
echo "<div class='flag-container'><div class='flag'>FLAG: {$flag}</div></div>";
} else {
echo "<div class='error'>大哥哥泥把数字算错了: $test ≠ 2025</div>";
}
} else {
?>
<?php } ?>

还是代码审计

payload:

1
(~((~0)*2026))

黑客小W的故事(1)

很简单考察http协议相关内容,根据提示要求来即可。

先抓包,修改点击次数即可到下一关。

接着,到蘑菇先生那,传参

下一步用POST传一个guding

下一步用DELETE,传入chongzi,然后到下一关,去找习奥

修改ua头

DashSlash/5.0同理,注意不要忘了/5.0,低了不行,两个一起发过去

最后去到最后一关获得flag

strange_login

最简单的sql注入

Misc

OSINT-天空belong

和去年的一样,查exif,再去搜B-7198,很快就能找到,我是在flightaware里找的。

MISC城邦-压缩术

根据提示直接爆破得到第一层密码

下一层,根据提示‘下一扇门明明没有密码,为什么还是要输入密码呢?’,是伪加密直接010editor修改到下一层。

根据文件名bkcrack,直接明文攻击,如下:

我不要革命失败

根据题目提示来即可

崩溃类型:CRITICAL_PROCESS_DIED
故障进程:svchost.exe

EZ_fence

考了个jpg文件高度修改,栅栏密码,文件隐写,以及base64换表。

结合题目“残缺的照片”,图片应该是修改了高度。

修改高度后可以看到图片下方多了文字。

结合题目“4颗钉子才能钉住”,接着随波逐流,如下

非常像base编码,结合下方码表文字,得到一个密码(不知道为什么赛博厨子一直报错,弄了好久sad)

结合题目“照片里面似乎藏着秘密“,binwalk一下,发现隐藏有rar压缩包。提取出来,用密码解压即可获得flag。

前有文字,所以搜索很有用

track1:零宽隐写+base64编码(在线工具解决即可)

track2:snow隐写+fxxkbrain+莫斯密码

track3:字频统计(很明显的challenge字样)

拼接到一起就能获得flag

  • 标题: newstarCTF2025_week1(web and misc)
  • 作者: xhxbb
  • 创建于 : 2025-10-14 19:56:25
  • 更新于 : 2025-10-14 20:06:18
  • 链接: https://xhxbb1.github.io/2025/10/14/newstarCTF2025-week1-web-and-misc/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论