NewStarCTF2025-Week1-Web
可能是第一周大佬们都不屑于打吧哈哈哈
简单写下 web 的
1、multi-headach3
结合题目暗示,存在robots.txt
访问hidden.php但是发现被重定向到了index.php
看一下详细的包:
Flag 在响应头
2、strange_login
考察sql注入的万能密码
Payload:
用户名:1'or 1#
密码可以随便输
登录成功即可看到 flag
3、宇宙的中心是php
右键、F12、ctrl+U这些都被禁用
通过开发人员工具打开
看到注释:<!-- s3kret.php -->
访问s3kret.php
Intval特性的绕过
该函数的原型:
int intval ( mixed $var [, int $base = 10 ] )
如果 base 是 0,通过检测 var 的格式来决定使用的进制
方法很多,这里采用十六进制绕过
Payload:newstar2025=0x2f
4、别笑,你也过不了第二关
第二关的目标分数:1000000
在endLevel()函数中,有两个判断
一个是对score的判断,一个是对currentLevel的判断
我们在控制台修改来满足条件:
score = 1000000;
currentLevel = 1 //因为一共就两关,currentLevel从0开始的
然后调用endLevel()函数
5、我真得控制你了
看不了源码
抓包看看
解除限制
javascript:(()=>{try{document.getElementById('shieldOverlay')?.remove();document.getElementById('accessButton')?.classList.add('active');document.getElementById('accessButton').disabled=false;const f=document.getElementById('nextLevelForm');if(f){fetch(f.action||'/next-level.php',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:new URLSearchParams(Object.fromEntries(Array.from(f.querySelectorAll('input')).map(i=>[i.name,i.value]))).toString()}).then(r=>r.text()).then(t=>alert('server returned:\\n'+t)).catch(e=>alert('fetch failed: '+e))}else alert('no form found')}catch(e){alert('error: '+e)}})();
点击启动
爆一下密码
假设用户名是 admin
拿到密码是111111,登录后还有一层
输入一个表达式计算结果为2025即可(不能直接纯数字)
Payload示例:
?newstar=45*45
6、黑客小W的故事(1)
根据提示抓包,改一下数量
第二关
根据提示需要get传参:
?shipin=mogubaozi
采用delete方法请求
这里传参的时候需要注意一下
不要使用query传参
采用body传参
拿到一个token
带着cookie访问 /Level2_END
遇到了重定向
应该是cookie掉了
不管它,既然拿到了路径,带着刚才的cookie访问/Level3_Sh3O
这里老是遇到重定向
带着cookie访问/Level3_SheoChallenge
查看提示:/hint_DingziHelpsYou
第一个是ua
在xff、ua、ref试了八种CycloneSlash和DashSlash的组合都不行
测了好久
是ua头内容传两个:
CycloneSlash/5.0;DashSlash/5.0
小W你累死我了