月度归档: 2021年4月

7 篇文章

PWN刷题笔记——gwctf_2019_easy_pwn
先声明一点,我真的看不懂这是什么东西,这C++反编译的玩意太恶心了,我吐了。 不过危险函数strcpy(&s, v6);我还是知道的(虽然我就没几次遇到过) strings,crtl+x追踪 pretty找到了,在主函数里,可惜就是没找到I 追踪,好,找到了,可是我还是看不懂。 看看程序吧。。。 。。。 为什么这么做,因为老早之前做过类似的…
堆从入门到跑路
栈的生长方向是从高地址向低地址生长的, 而堆是从低地址向高地址生长的。 0x01综述 堆溢出是指程序向某个堆块中写入的字节数超过了堆块本身可使用的字节数(之所以是可使用而不是用户申请的字节数,是因为堆管理器会对用户所申请的字节数进行调整,这也导致可利用的字节数都不小于用户申请的字节数),因而导致了数据溢出,并覆盖到物理相邻的高地址的下一个堆块。 —…
PWN刷题笔记——[HarekazeCTF2019]baby_rop2
通过这题学了printf的使用方法,也学会了64位双参数类型题解法。 由于是64位程序,传参的时候需要用到寄存器printf函数的原型int printf( const char* format , [argument] … );举个例子–>print(’%s’,‘hello world’)大概就是这样的用法,这边有两个参数要设置,所以我们要…
PWN刷题笔记——ciscn_2019_n_5
先放exp吧 from pwn import * context(os='linux', arch='amd64', log_level='debug') p=remote("node3.buuoj.cn",28206) elf=ELF('./ciscn_2019_n_5') shellcode=asm(shellcraft.sh()) p.rec…
PWN刷题笔记——not_the_same_3dsctf_2016
这题学会了很多操作 shift+F12打开string后,双击跟进,再ctrl+x可以找到调用这个字符串的函数 0x80489A0,我们可以通 rop的方式,先执行下 get_secret将flag放入bss段上,然后程序中含有write函数,我们 可以再rop到 write函数上来将flag给输出出来。 得出exp: from pwn impor…
PWN刷题笔记——bjdctf_2020_babystack
这题没难度,但是为了搞清楚一些基本原理,所以水了一篇对大佬们来说没什么营养的博客qwq 有binsh,不错子,不过还是先看一下源码吧 懂了,先输入名字长度,再利用这个长度栈溢出 长度是0x18 exp如下 from pwn import * context(log_level = 'debug') elf=ELF("./bjdctf_2020_ba…
苏州扬州三日游
和几个舍友在清明假期去了趟苏州扬州。 拙政园,苏州园林博物馆,诚品书店,金鸡湖的月光码头。可惜去的那两天天气不是很好,晚上也没有月光,有点可惜。 不过我个人还是很喜欢苏州园林的,在金鸡湖畔吹吹风也是蛮好的。 第二天的夜间,我和朋友们来到了扬州。 说实话,到了扬州,觉得有一种很亲切的感觉,感觉很多地方和自己的家乡一样(总体来说肯定还是比家乡繁华一点)…