自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 2024羊城杯pstack【多次栈迁移】

这样一来就好办了,我们设想若第一次溢出时把rbp的值覆盖成bss段的某个地址,再把ret覆盖成lea rax [rbp+buf]指令的地址,这样一来程序执行第一个payload,leave指令中的pop rbp把rbp迁移到bss段处,ret指令让程序返回执行lea rax [rbp-0x30],然后继续往下当执行到call read时,我们就成功实现了从迁移到的地址减去0x30处写入数据了。3.竟然栈上不行,我们可不可以联想到bss段呢,毕竟本题并没有开pie,我们是可以通过ida知道bss段地址的。

2025-03-06 21:00:23 576 1

原创 BUUCTF ciscn_2019_s_3复现

具体哪处栈中存放了栈地址就要用gdb调试了。①我们在mov那一块看到了call指令,这条指令的意思是调用r12+rbx*8处的指令,为了简化操作我们可以把rbx直接设成0,这样一来r12的值就很关键了,如果我们在前面往r12中pop一个地址,而这个地址刚好指向的是mov rax 3Bh,那岂不是在call这里就相当于执行了这条指令,从而把rax成功地设置成了59?注意这里的rax_59是mov rax 3Bh指令的栈地址,我们要在栈中部署它的地址,至于栈地址在哪(也就是往哪写入它的地址)后面会说。

2025-02-09 22:34:53 497 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除