
pwn
文章平均质量分 69
0ne_
这个作者很懒,什么都没留下…
展开
-
安洵杯2023 部分pwn复现
漏洞点:覆盖printf的返回地址。原创 2023-06-26 12:03:35 · 1177 阅读 · 0 评论 -
vn_2020_simpleheap
1、保护全开,64位程序2、主函数包括增删改和打印功能原创 2022-05-02 20:51:37 · 470 阅读 · 0 评论 -
2022DASCTF Apr X FATE 防疫挑战赛 good_luck
这道题最开始的附件,代码是随机生成一个0~199的数,然后0触发格式化字符串漏洞,1触发栈溢出漏洞,修改后的附件随机数是0或者1下面是脚本,脚本逻辑:通过栈溢出返回到格式化字符串漏洞函数,泄露libc地址,然后再返回到main函数,通过栈溢出执行onegadget几率:第一次执行栈溢出1/2,第二次再次执行栈溢出1/2,1/4的概率执行成功from pwn import *from LibcSearcher import *context(log_level = "debug")csu原创 2022-04-24 19:03:17 · 862 阅读 · 0 评论 -
两道pwn题中的小trick
1、get_started_3dsctf_2016比较常规的解法: 由于这题没有出现setbuf(stdin,0),所以本题的输出是缓存在服务器本地的,换句话说:如果程序不正常退出,本题是不会回显flag的。但是本题提供了exit()函数,注意再调用get_flag函数后再ret到exit()函数就可以回显flag了。参考:buuoj get_started_3dsctf_2016 WriteUp - CSULuyao - 博客园from pwn import *import sy原创 2022-04-19 18:39:07 · 318 阅读 · 0 评论 -
ciscn_2019_c_1
坑点:ida反编译地址不对解决办法:通过ROPdadget工具获得正确的pop_rdi和ret的地址问题:libc版本寻找解决:通过LibcSearcher工具进行寻找难点(写这篇文章的目的):这个问题和我前两篇checkin脚本分析最后自己写的一个脚本出现同样的情况,因为题目环境是Ubuntu18,所以需要栈对齐-----地址末尾为0,所以需要加ret不加ret之前的rsp地址加了ret后最后的脚本,python3环境,上述libcsearcher工具要求..原创 2022-04-14 11:31:28 · 3005 阅读 · 0 评论 -
ret2csu和ret2dlresolve x86&x64
ret2csu函数csu_front_addr = 0x400790 # mov rdx, r14csu_end_addr = 0x4007AA # add rsp, 8#根据glibc的版本不同参数的位置也要进行相应的调整def csu(rbx, rbp, r12, r15, r14, r13): # pop rbx, rbp, r12, r13, r14, r15 # rbx = 0 # rbp = 1, enable not to原创 2022-04-11 23:14:38 · 610 阅读 · 0 评论 -
2022DASCTF X SU 三月春季挑战赛 checkin 各种脚本学习分析
只能溢出0x10个字节,刚好能够覆盖返回地址,所以得利用栈迁移来做第一种:利用magic_gadget修改got表中setvbuf的值在64位程序的_do_global_dtors_aux中有这么一个gadget十分有用,可以直接改栈数据magic_gadget:add dword ptr [rbp - 0x3d], ebx ; nop ; ret利用read函数溢出,迁移栈到bss段上,然后通过一些小gadget调整寄存器的值来达到目的出处:2022DASCTFXSU三月春季挑战赛-p原创 2022-04-03 15:39:18 · 4746 阅读 · 9 评论