71~80 71.(1)分析(2)payload1 72.(1)分析(2)payload1 73.(1)分析(2)payload1 74.(1)分析(2)payload1 75.(1)分析(2)payload1 76.(1)分析(2)payload1 77.(1)分析(2)payload1 78.(1)分析(2)payload1 79.(1)分析(2)paylo 2024-03-05 PWN > pwn练习记录 > BUUCTF #WP
61~70 61.gyctf_2020_borrowstack(1)分析 main read漏洞,溢出0x10字节,无system,ret2libc ret2libc大概需要0x20字节,不够,上面read了两次,中间接了一个puts函数,栈劫持标志 bank在bss段,我们就将栈劫持到这里执行payload (2)payload12345678910111213141516171819202122232 2024-01-23 PWN > pwn练习记录 > BUUCTF #WP
51~60 51.mrctf2020_easyoverflowret2text (1)分析 main函数: 简单来说就是让check函数执行后返回值为0,我们就能拿到后门函数,注意这里有gets函数漏洞,也就是溢出点在V4这。 check函数: 意思也很明显,就是检查V5是否和fake_flag相等,相等就返回0,那么思路就来了,要么我们通过溢出点覆盖V5让其等于fake_flag,要么我们将两个都覆盖为 2024-01-23 PWN > pwn练习记录 > BUUCTF #WP
41~50 41.picoctf_2018_buffer overflow 1ret2text (1)分析 main vuln gets漏洞 win 这里就读出flag了 (2)payload12345678910111213from pwn import *context(log_level='debug',arch='i386',os='linux& 2023-10-11 PWN > pwn练习记录 > BUUCTF #WP
31~40 31.picoctf_2018_rop chain(1)分析 main vuln gets溢出漏洞 flag 可以看到已经打开flag并且读到s中,只要条件if ( win1 && win2 && a1 == -559039827 )符合就会给flag,同时我们发现在win_function2和win_function2函数中,分别将win 2023-09-22 PWN > pwn练习记录 > BUUCTF #WP
21~30 21.铁人三项(第五赛区)_2018_rop(1)分析 main be_nice_to_people vulnerable_function 有read漏洞,buf可以溢出 没有system和/bin/sh字符串,动态编译,堆栈保护也开了,基本确定是ret2libc方法 我们可以用main函数中的write函数泄露libc版本 (2)payload12345678910 2023-09-17 PWN > pwn练习记录 > BUUCTF #WP
11~20 11.bjdctf_2020_babystack很简单的ret2text (1)分析 main buf前的nbytes可以控制read函数的读入字节数,造成溢出点 backdoor 则binsh_addr=0x4006e6 溢出长度在IDA中看一下就好 (2)payload1234567891011from pwn import*io=remote('node4.buuoj 2023-09-04 PWN > pwn练习记录 > BUUCTF #WP
CSAPP-1-计算机系统漫谈 CSAPP第一章总览1.1信息就是位+上下文 源程序实际上就是一个由0和1组成的位(又称为比特)序列,8个位被组织成一组,称为字节。 使用ASCII标准来表示文本字符,这种方式实际上就是用一个唯一的单字节大小的整数值。来表示每个字 只由ASCII字符构成的文件称为文本文件,所有其他文件都称为二进制文件。 系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据 2023-09-04 PWN > pwn前置知识 > CSAPP #CSAPP