![](https://img-blog.csdnimg.cn/ff18e59b2f5b453392ce5a8c79a6d015.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PWN
文章平均质量分 76
CTF(夺旗赛)之PWN方向
ca1m4n
Data Mining, Machine Learning, and Deep Learning on Graphs...
展开
-
攻防世界新手区level3
攻防世界新手区level3下载附件解压之后直接拖进虚拟机,发现还是个压缩包,原来是三个压缩包的套娃,重复操作:加一下后缀.zip解压,得到题目,题目把libc也给了checksec level3没什么保护,而且buf明显可以溢出查找字符串果然如题目是没有system和binsh的那么我们可以利用write函数(因为write调用过好几次了)得出偏移量,32位程序不同于64位需要寄存器传参而是可以直接传参的。题目还直接给了libc看之前写的32位程序的最基本的ret2libc原理就能会了原创 2021-10-20 13:48:00 · 2189 阅读 · 0 评论 -
pwntools
pwntools学习笔记 from pwn import * 常用模块asm : 汇编与反汇编,支持x86/x64/arm/mips/powerpc等基本上所有的主流平台dynelf : 用于远程符号泄漏,需要提供leak方法elf : 对elf文件进行操作gdb : 配合gdb进行调试memleak : 用于内存泄漏shellcraft : shellcode的生成器tubes : 包括tubes.sock, tubes.process, tubes.ssh, tubes.serial原创 2021-08-09 15:27:15 · 387 阅读 · 0 评论 -
PWN的学习
PWN的学习写在前面的话0x01 Hello,PWN!0x02写在前面的话如题,胖手的回归我愿称之为重操旧业。pwn的学习难度比较大,牵涉范围又广,我也不知道为啥选了这个方向????。前两天写个最简单的溢出没写出来,想想趁这个寒假重新学起,笔记po这里日常更新????仅供参考,不是系统学习,以打比赛为目的,途径主要是到处找的小视频、大佬们的博客和题目。希望看到的铁汁们不吝赐教!0x01 Hello,PWN!"Pwn"是一个黑客语法的俚语词,是指攻破设备或者系统 。CTF中的pwn是指通过程序本身原创 2021-02-05 23:22:33 · 1416 阅读 · 0 评论 -
32位栈溢出进阶
在804871F里,buf变成a1,把a1放入s,然后往804871F的buf里输入数据,这一步要注意,我们要做的是通过传入数据,把v5覆盖掉,因为返回值是v5,而v5和buf的关系在stack里是这样的。接着v5返回到主函数,变成v2,传到80487D0里,80487D0里变成a1, 因为我们传入的a1为\xff(255),所以执行else, 这时我们开始ret2libc。会停止,于是开头为\x00,最终比较的长度v1是0,从而绕过strncmp,避免执行exit(0)没有system和/bin/sh/原创 2020-11-18 11:25:17 · 709 阅读 · 1 评论 -
攻防世界新手区pwn
攻防世界新手pwnget_shellexpget_shell首先checksec一下64位只开启了栈可执行保护ida打开看主函数,好大一个system(/bin/sh)然后puts和binsh地址差就是偏移量exprom pwn import *m=remote('220.249.52.133',xxxxx)binsh = 0x400574payload='a'*(0x3a-0x18) +p64(binsh)m.sendline(payload)m.interactive()原创 2020-11-03 20:57:45 · 680 阅读 · 0 评论 -
BUUCTF-pwn[1]
小PWN手的间歇性记录 ret2textret2text首先checksec一下32位只开启了栈可执行保护ida打开查找/bin/shbinsh = 0x804863A距离ebp的距离需要利用Ubuntu中gdb工具gdb ./ret2text因为存储读入的变量和到栈底的距离未知所以断点下在_getsb *0x80486AE别忘了再按r,报错不用管借助变量s到esp的距离计算出s的地址再计算变量s到esp的距离用Python:ebp = 0xffffcfd8e原创 2020-10-04 22:27:31 · 722 阅读 · 0 评论