avatar
Articles
20
Tags
11
Categories
1

Home
Articles
  • Archives
  • Tags
  • Categories
About
133NSON's space
Search
Home
Articles
  • Archives
  • Tags
  • Categories
About

133NSON's space

CISCN 2023 华南赛区 记录贴
Created2023-06-30|CTF|writeup•CISCN•life
桂林之旅(虽然还没玩就回学校了 比赛 easynotescanf函数中格式化 "%ld" 对应的参数没有做取址操作,相当于以size的值为地址写八个字节,并且这里size未进行初始化 利用这个函数可以很容易地提前控制好scanf函数中未初始化的size的值,于是就构成了可控的任意地址写 比赛时我是先利用任意地址写劫持atoi函数的got表为printf函数的plt表,由于atoi的参数是由我们输入控制的,所以就有了可控的格式化字符串,利用这个可以泄露出包括libc地址在内的很多栈上数据。泄露完后再利用任意地址写往bss段上布置好伪造的 IO_FILE 结构体最后劫持stdout指针即可 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#!/usr/bin/python2from ...
陕西省省赛 2023 初赛 WP
Created2023-06-03|CTF|writeup
出了3道PWN,两个一血一个二血,总排名不前 线下旅游梦再次破灭( 这里还是只贴自己打的题吧 PWN陕西游玩格串泄露ELF基址,栈溢出ret2text 1234567891011121314151617181920#!/usr/bin/python2# -*- coding: UTF-8 -*-from pwn import *io = remote('121.196.192.181', 10001)# io = process('./pwn')context.binary = 'pwn'ru = lambda x : io.recvuntil(x, drop = True)sa = lambda a, b : io.sendafter(a, b)sla = lambda a, b : io.sendlineafter(a, b)ia = lambda : io.interactive()p ...
CISCN 2023 初赛 WP
Created2023-05-29|CTF|writeup•CISCN
出了4道题,3道PWN和1道Misc。 排名不前,希望能有机会进分区赛( 这里就只贴自己打出的题了 PWN烧烤摊儿整数溢出,栈溢出 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647# -*- coding: UTF-8 -*-from pwn import *io = remote('39.106.71.184', 37247)context.binary = 'shaokao'sd = lambda x : io.send(x)sl = lambda x : io.sendline(x)sla = lambda a, b : io.sendlineafter(a, b)ia = lambda : io.interactive()def menu(choice): sla(' ...
春秋杯 2023 WP
Created2023-05-19|CTF|writeup
AK了PWN,但其他方向基本爆0( PWNp20482048打完就通,随机数是固定的,所以每次出现的数字和位置都一样 1234from pwn import *io = remote('39.106.48.123', 32818)io.send('awddadwwdwdwdwwadwdwadwwdwdwwdwwwaddwdwdawdwwawdawdddddddwddwdadwwwwwdadwdwawdwdwadadwdddwawdwawdwdwdwddwdwadwdwwdwwdwdwwwddadwdawawdadwwdwdwddwwddwadwaddwawwddawdwwdwdwdwddwaddwadwdwdwwawwdwwdwawdwdwadwwwwwdwwdwwadwwawwdwwaddwdddadwdddwddwddwadaswdwdwwdawdwadwddwwdwwwawdwddwawdwdwdwdwddwwdawdwdwawdwawwdwdawdwddwdwadwdwawddawwdwwdwwddwddadwwwdwwwwwdwdadwddww ...
DASCTF X SU 2022 wedding
Created2023-04-20|CTF|DASCTF•writeup
PWNwedding大体的思路参考 roderick 师傅的这篇博客 程序分析洞有3个 第一个是 preapare 函数里的指定偏移位置写两个固定内容的字节,没有检查偏移大小。共有3次机会 第二个是 preapare 函数里表示 heap 数组和 size 数组下标的变量可能未初始化 第三个是 revise 函数里未检查数组下标大小 利用思路申请大内存,让 malloc 使用 mmap 来分配内存,此时得到的chunk指针与libc的偏移是固定的。利用 preapare 函数里3次任意偏移写的机会,前两次用来修改 _IO_2_1_stdout_ 结构体的 _flags 和 _IO_write_base,泄露出 libc , heap , elf 和 stack 的地址;最后一次用来修改与 elf 基址偏移为 0x4014 的地方的值,这个地方的作用下面再解释 随便申请5个chunk,将 preapare 函数中检查的8个下标都填满,这样在下次申请时,表示下标的变量就不会在 preapare 函数中初始化 这个表示数组下标变量在 rbp-0xc 的位置,所以可以利用 my_rea ...
广东省省赛 2023 记录贴
Created2023-04-16|CTF|writeup•life
2022的省赛决赛被拖到了2023,还和网鼎杯撞了( 本来4人的队,有两个队友去网鼎杯了,然后只剩我一个pwn和一个crypto师兄去打 第二次打线下,第一次接触dawd这种赛制 比赛赛前一直在摸鱼,开赛前一天才开始看手册上的赛制介绍,然后学着写shell脚本和用来修复程序的 ida patch 用来攻击的shell脚本,每次执行会自动运行当前目录下所有的名字以exp开头并以py结尾的文件 12345678#!/bin/bashfor file in *; do if [[ $file =~ ^exp.*\.py$ ]]; then echo "exec $file" python2 $file $1 $2 fidone dawd_pwn_ttt找到的洞有3个,栈溢出、格式化字符串和堆溢出,比赛时只打了格式化字符串和堆溢出 手快拿到了一血 expfmtstr12345678910111213141516171819202122232425262728293031323334353637383 ...
Midnight Sun CTF 2023 WP
Created2023-04-11|CTF|writeup
PWN上去看的时候队里的师傅都已经把PWN都打穿了,挑几题补了一下 SCAAS没给附件,nc连上去之后第一个选项可以下载 base64 编码之后的附件 下载附件脚本 123456789101112131415161718192021#!/usr/bin/python2# -*- coding: UTF-8 -*-from pwn import *from base64 import b64decodefd = open('chall', 'wb')# context.log_level = 'debug'p = remote('scaas-1.play.hfsc.tf', 1337)p.sendlineafter(' > ', '1')p.recvuntil('Here is your SCAAS service: (\n')data = ''code = ''while True: data ...
DASCTF NOV 2022 WP
Created2023-04-07|CTF|DASCTF•writeup
PWN一开始看 heapmaster 去了,看了半天没打出来,然后快没时间了就只写了个签到题 签个到程序分析程序功能有点类似于一个菜单堆,第一次处理输入的函数存在 off by one 漏洞 菜单提供了两个功能,分别是 add 和 get add 函数中,输入 size 后可以在 malloc 出来的指针上输入 size 个字节,若指针上前4个字节无内容则会将其赋值为 0x886 。 size 的值不能超过 0x10,即正常情况下最多只能输入10个字节大小的 content 。然而,在输入 content 时调用的处理输入函数中,判断输入数据界限的条件为 <= size - 1 ,所以当 size == 0 ,即 (size - 1) == 0xffffffffffffffff ,可以绕过检查输入超出预期的内容导致堆溢出 get 函数中,会以输入的8个字节数据为key,遍历储存指针的数组。若当前下标对应指针上第5~13字节的数据等于输入的key,第1~9字节的数据等于 canary ,则会调用 backdoor 来 getshell 利用思路利用一开始的 off by o ...
VNCTF 2023 WP
Created2023-04-05|CTF|writeup•VNCTF
PWN比赛那天有事没打,赛后补的题 Traveler程序分析主函数存在栈溢出,只能覆盖到rbp和返回地址,同时拥有一次往bss段上写入 0x28 个字节的可控内容的机会 利用思路在bss段上布置好rop_chain,栈溢出劫持rbp为bss段以及劫持返回地址为 leave; ret ,将栈迁移至以及布置好的rop_chain上。这里有个坑,就是直接写入执行 system("/bin/sh") 的rop_chain会无法正常 getshell ,这是因为栈迁移后的栈地址太低了,在执行 system 函数时容易使栈指针rsp下降到不可写的位置而导致 Segmentation fault ,如下图…… 所以需要先将栈抬至足够高再来打 system("/bin/sh") 的rop 这里我是利用 pop rsi; pop r15; ret; 的gadget配合 read 函数不断地抬高栈,每次 read 执行完会返回至该gadget出抬高栈帧地址同时更新rsi寄存器,即 read 的二参,这样在下一次 read 的时候就可以往高处写入覆盖至 read ...
Hello World
Created2023-04-05
Intro欢迎来看我博客的师傅们 O (∩_∩) O以后会在这里放一些学习笔记/WP(这段时间可能会先把一部分以前写的WP搬过来),记录一些自己做过的题/打过的比赛当然也会记录一下生活,写写日记什么的看心情不定期更新日常喜欢打游戏(玩的很杂),听电音(尤其是Trance),看动漫(最喜欢头文字D了)。希望可以和师傅们多多交流~
12
avatar
133NSON
Articles
20
Tags
11
Categories
1
Announcement
New blog address: http://133nson.space
Recent Post
BlackHat MEA 2023 - vec2023-11-17
TSG CTF 20232023-11-06
SEETF 2023 PWN2023-11-01
MapleCTF 2023 lost-in-space2023-10-16
香山杯 2023 PWN2023-10-16
Categories
  • CTF12
Tags
DASCTFwriteupVNCTFMapleCTFBlackHatSEETFCISCNlifeHITCONHWSTSG CTF
Archives
  • November 20233
  • October 20233
  • September 20231
  • July 20233
  • June 20232
  • May 20232
  • April 20236
Info
Article :
20
Run time :
Last Push :
©2023 By 133NSON
Framework Hexo|Theme Butterfly
The sky above the port was the color of television, tuned to a dead channel.
Search