PWN
文章平均质量分 75
T_Fire_of_Square
听山河把春风酝成千言万语,拂过旧人故里
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初入堆的知识
堆是用malloc函数申请使用的。是虚拟地址空间的一块连续的线性区域,能够提供动态分配的内存,允许程序申请大小未知的内存,在用户与操作系统之间,作为动态内存管理的中间人,能够响应用户的申请内存请求,向操作系统申请内存,然后将返回给用户程序,管理用户所释放的内存,适时归还给操作系统。原创 2024-11-30 17:18:24 · 996 阅读 · 0 评论 -
BUUCTF之Sandbox-bad
首先针对sandbox,我们需要有一个大概的认知,他是在一个代码执行环境下,脱离种种过滤和限制,最终成功拿到shell权限的过程,通常我们采用orw的方式来获取flag.orw全称only read write,只使用read write函数将flag读取并且打印,shellcode分为三个步骤简化为三句伪代码如下,主要需要将这三句C语言变成汇编代码对于函数的限制,只要通过两种方式来实现,第一种是采用prctl函数调用,第二种是使用seccomp库函数。对于这类限制,我们可以使用。原创 2024-10-17 18:34:42 · 875 阅读 · 0 评论 -
ret2csu
大多时候我们难以找到每个寄存器对应的gadgets,但是当我们遇到wirte函数泄露的时候却必须要控制三个寄存器(64位首先存入数据的rdi,rsi,rdx),这时候,我们就可以利用 x64 下的 __libc_csu_init 中的 gadgets。也就是说,因为write打印的话,是先从栈的低地址打印,再打印高地址的内容,那么先打印0x20的数据,再打印0x8的数据就是栈的基地址,再减去0x118就获得 /bin/sh的地址。而我们所利用的是函数的两块区域。retn到我们需要溢出的函数地址。原创 2024-03-03 19:55:12 · 947 阅读 · 2 评论 -
PWN如何链接WSS加密网址
wss网址转https,从而完成nc链接原创 2024-09-12 20:20:03 · 858 阅读 · 0 评论 -
关于GDB如何进行两个窗口联动调试
如何实现pwngdb双窗口连动调试//小白向原创 2024-06-11 17:58:21 · 813 阅读 · 1 评论 -
ISCC-easyshell
第一个箭头是canary的值,而后两个位置,也就是第二个红色箭头,我们便可以用来泄露mian+254从而得到pie基地址,即%17p-(0x1422+254)/全部换为16进制就是0x1520/.这样我们可以用%15p将canary的内容打出来了,接下里就需要考虑如何去泄露pie的偏移量了,我们可以本地gdb调试一下,看看栈上都有些什么,运行到printf函数,看看栈内容。我们只要确保输入的前几个字符为flagis,然后就可以从第七个字节开始进行格式化字符串泄露,把pie和canary都泄露出来。原创 2024-06-06 12:57:59 · 397 阅读 · 0 评论 -
格式化字符串修改将非栈上地址修改
ez格式化字符串原创 2024-04-02 20:26:14 · 366 阅读 · 1 评论 -
Canary章节学习
Canary设计其低字节为\x00,本意是阻止被read、write等函数直接将Canary读出来。\x00。原创 2023-12-18 16:09:12 · 260 阅读 · 1 评论 -
RET2syscall
基本rop之一,意为call system,控制程序执行系统调用,获取shell。原创 2023-12-18 16:05:39 · 482 阅读 · 1 评论 -
关于ret2libc的大致见解
所需要注意的是,传参有时可以直接利用其本来就有的参数,而且第三个参数可以不用使用寄存器,有时还会由rsi与其他寄存器一起出现,这时第三个参数便可以随便输入了。Put函数的传参是libc中较为简单的,其只要一个参数即可,所以很明显,那个参数就是某个函数的got地址。第一步已经接收到了,接下来print即可,然后我们看他函数后三位,即可调查到他的真实地址,我们可以使用libcsearcher或者。2.64位-----是先传参,其参数从左到右依次放入寄存器:rdi,rsi,rdx,rcx,r8,r9中。原创 2023-11-29 14:36:27 · 1125 阅读 · 1 评论
分享