pwn

【pwn】cmcc_simplerop --rop链的构造

程序保护情况检查 32位程序,堆栈不可执行 主函数: 左边又是一堆函数,file看一下 发现是静态链接,那ret2libc不用考虑了,接着看一下有没有int 80 那可以考虑利用rop链调用execve函数,用系统调用的函数参数是存在寄存器中的,但是本程序找不到/bin/sh的字符串,可以利用rea ......
cmcc_simplerop simplerop cmcc pwn rop

【pwn】hitcontraining_uaf --堆利用之uaf

先检查程序的保护情况 32位程序,堆栈不可执行 看ida 经典的菜单题,根据题目的uaf,判断该题有uaf漏洞,看一下delete函数 两次free没置空指针,确实存在uaf漏洞,再看一下add函数和print函数 add函数这里,就是创建了两个堆块,第一个堆块八字节数据中,前四个字节存着puts函 ......
hitcontraining_uaf hitcontraining uaf pwn

【pwn】inndy_rop --ropchain的利用

先检查程序的保护情况 32位。堆栈不可执行,ida看一下代码逻辑 存在gets函数的栈溢出,偏移是0xc,然后再根据左边一堆函数,判断这个程序是静态编译,那这里的libc的打法就可以不用考虑,这里使用ROPgadget --binary rop --ropchain进行需要rop链 然后加上偏移就可 ......
inndy_rop ropchain inndy pwn rop

pwn2_sctf_2016

pwn2_sctf_2016 lib地址泄露 vuln() 程序对输入的v2做了限制首先要利用整数绕过if (v2 > 32)的限制 程序中没有现成的shell所以要通过printf泄露lib手动构造shell from pwn import * context.log_level = 'debug ......
pwn2_sctf 2016 pwn2 sctf pwn

wanna_pwn2own!

PicoCTF_2018_rop_chain 函数参数劫持 整数型绕过 \x00绕过len() 函数vuln中存在栈溢出 flag是后门函数,只要满足win1 && win2和a1 = 0xDEADBAAD就可以得到flag 3.win1 & win2存在于.bss段上,但是可以利用win_func ......
wanna_pwn wanna 2own pwn own

PWN入门

二进制基础 程序的编译与链接 预处理:预处理指令(如#include和#define)替换成实际的代码 gcc -E hello.c -o hello.i 编译:由C语言代码生成汇编代码 gcc -S hello.i -o hello.s 汇编:由汇编代码生成机器码(Windows下是.obj文件) ......
PWN

【pwn】[ZJCTF 2019]EasyHeap --fastbin攻击,house of spirit

首先查看一下附件的保护情况 可以看到,got表是可修改的状态 接着看主函数的逻辑 非常典型的菜单题,接着分析每一个函数的作用 unsigned __int64 create_heap() { int i; // [rsp+4h] [rbp-1Ch] size_t size; // [rsp+8h] ......
EasyHeap fastbin spirit ZJCTF house

pwn知识——ret2text进阶

stack smash 造成原因 当进行栈溢出时,触发了__stack_chk_fail,从而拦截了该栈溢出,使程序崩溃 利用原理 我们首先了解一下__stack_chk_fail函数的构成 发现调用了__fortify_fail函数,那我们再看下这个函数 发现有两个参数,一个是msg(信息,也就是 ......
ret2text 知识 2text ret2 text

Pwn 练习随笔

pwn 练习随笔 1. [SWPUCTF 2021 新生赛]nc签到 打开附件发现是 py 源码。 import os art = ''' (( "####@@!!$$ )) `#####@@!$$` )) (( '####@!!$: (( ,####@!!$: )) .###@!!$: `##@@ ......
随笔 Pwn

【pwn】[HNCTF 2022 WEEK3]smash --花式栈溢出

拿到程序,先查一下保护状态 没开pie,接着看主函数代码逻辑 看到这里,因为程序开了canary,本程序没有可以泄露canary的方法,所以普通的栈溢出方法肯定打不了,这里可以考虑一下smash stack Stack smash 在程序加了 canary 保护之后,如果我们读取的 buffer 覆 ......
HNCTF WEEK3 smash 2022 WEEK

buu-pwn-1

rip 静态分析 将附件拖入IDA进行分析: F5可以反编译查看源码 int __cdecl main(int argc, const char **argv, const char **envp) { char s[15]; // [rsp+1h] [rbp-Fh] BYREF puts("ple ......
buu-pwn buu pwn

CTF-PWN学习-为缺少指导的同学而生

更新公告: 2023-7-5晚上21:12 已更新,对内容做了些调整。 调整如下: 添加解题步骤描述 添加专业名词描述 博主也是个PWN的入门者。PWN的入门不可能是无痛的。能做到的只是减少一点初学者的痛苦。这篇博客会长期维护,也会越来越好。 PWN是什么 CTF中PWN题型通常会直接给定一个已经编 ......
CTF-PWN 同学 CTF PWN

金盾杯 pwn awd

金盾杯 pwn awd 难点就是利用链表控制节点,理清其中的关系 分析程序 在初始化程序时会申请一个 0x10 的 chunk 作为一个头,在 add 中会申请三个堆块,第一个堆块就是用于存放第二个堆块的 id , size , address ,第二个堆块就是用于存放输入内容,第三个堆块就是存放第 ......
pwn awd

PWN-非栈上格式化字符串之.fini_array劫持

1. .fini_array劫持 上周打了一下金盾杯,算是第一次做非栈上格式化字符串的题,之前只在ctfwiki上看过一点。边学边做,比赛最后一个小时做出来了,爽了。 以金盾杯的题为例 1.1 2023金盾杯 sign_format 题目介绍:一道非栈上的格式化字符串,通过修改dl_fini数组里的 ......
字符串 fini_array 字符 格式 array

你想有多pwn

第一章 1.1 认识程序 file、ldd 1.2 gdb调试 一、指令 1、start、run 2、断点 设置断点 b mian、b *0x123456 查看断点 info b、i b 让断点失效 disable b 序号 恢复断点 enable b 序号 删除断点 d 序号 步过、步进、步出 n ......
pwn

PWN入门之Stack Overflow

本文是i春秋论坛签约作家「Binary star」分享的技术文章,旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。 大家好,我是Binary star,目前从事于公安行业,擅长Web、二进制和电子取证方向。能把网络安全技能运用在工作中,与我的职业结合起来做有意义的事,是非常自豪的,我希望通 ......
Overflow Stack PWN

PWN学习之LLVM入门

找到runOnFunction函数时如何重写的,一般来说runOnFunction都会在函数表最下面,找PASS注册的名称,一般会在README文件中给出,若是没有给出,可通过对__cxa_atexit函数“交叉引用”来定位。 ......
LLVM PWN

【pwn】orw&rop --泄露libc基址,orw

我们先看看程序的保护的情况 因为题目提示了orw,我们可以沙箱检测一下 可以发现是禁用的execve函数的,接着看函数逻辑 这里格式化字符串漏洞可以泄露canary和puts函数地址,先确定一下参数位置 可以发现参数是在第六个位置,接下来就是构造ROP,调用read函数读取shellcode到mma ......
基址 orw libc pwn amp

【pwn】puts or system? --格式化字符串漏洞泄露libc基址

还是先看一下保护情况 开了canary,接着看主函数逻辑 看到这里的代码逻辑,我一开始是想通过printf泄露出canary的值,然后再用ret2libc来打,但是我发现这个libc不好泄露,一般的泄露的思路都是构造ROP,通过puts函数泄露出puts的got表内容,但是我在寻找rdi这个gadg ......
基址 字符串 漏洞 字符 格式

XCTF-pwn-level0

下载改题目提供的文件,使用file和checksec进行分析 该文件是一个64位的ELF可执行文件,而且开启了NX保护机制,不知道其作用如何 使用ida打开,是一道基本的栈溢出 return返回vulnerable_function()方法,继续追踪 可以看出vulnerable_function( ......
XCTF-pwn-level level XCTF pwn

BUUCTF-pwn-rip(第一个栈溢出)

这两天在学习pwn,在ctf wiki学习了典型的栈溢出,参考:https://ctf-wiki.org/pwn/linux/user-mode/stackoverflow/x86/stackoverflow-basic/ 在做题目的时候发现buuctf的rip和ctf wiki的示例题目一样,考的 ......
BUUCTF-pwn-rip BUUCTF pwn rip

pwn中常见的绕过(以后见多了会慢慢更的,咕咕咕)

如题,总结一下我目前在pwn中常见的一些绕过,方便以后随时查阅 strlen 这是检验字符串长度的函数,常见的形式是“当字符串个数>number时,失败”,绕过它其实很简单,在输出的字符串开头加上'\x00',这样strlen就不会检测后续字符串的个数了,就完成了绕过 strncmp 指定比较siz ......
常见 pwn

【pwn】shellcode revenge --0~9,A~Z字符的shellcode

查一下保护 拖进ida看主要逻辑 这里的代码逻辑为mmap开辟一段有执行的地址,可以写入shellcode,但这次写入的shellcode有限制 if ( buf > 90 || buf <= 47 || buf > 57 && buf <= 64 ) break;这里的限制shellcode的十六 ......
shellcode 字符 revenge pwn

pwn知识——格式化字符串漏洞(萌新向)

怎么说呢,这个东西感觉相当不好写,涉及到的知识点很多,不一定能讲明白,我自己写的话只能尽量往基础的知识点上写了,若有不准确之处,希望佬们能及时指出,让我加以修改。 格式化字符串漏洞 概念 格式化字符串漏洞的形成原因在于printf/fprintf/vsprintf等格式化字符串打印函数在接受可变参数 ......
字符串 漏洞 字符 格式 知识

XCTF-pwn-hello_pwn

这几天在尝试入门,学习pwn的知识点,这是我关于pwn入门做的第一道题目,学习pwn需要很多的前置知识,并且需要一些环境,这里大概描述一下需要什么 拥有C语言基础 看懂简单的汇编代码 拥有一些python基础,需要使用到pwntools 拥有linux的基础,能够正常使用linux终端 简单熟悉id ......
XCTF-pwn-hello_pwn pwn hello XCTF

【pwn】[HGAME 2022 week1]enter the pwn land --数组下标修改,栈溢出

查保护 然后ida看代码逻辑 来到关键函数,这里存在栈溢出漏洞,但是这是数组循环一个字节读入,我们看一下i的地址 发现i的地址在rbp上面,所以我们构造payload肯定会把i的值给覆盖了,所以payload在构造时需要修改一下i的值,让我们的payload继续读入到正确位置,然后就是简单的ret2 ......
下标 数组 pwn HGAME enter

BUUCT_PWN8 jarvisoj_level2

jarvisoj_level2 查看保护措施: canary没有,很好。 栈可执行,这题也可以在栈上写shellcode。 PIE都没开,从IDA看到的地址就是实际加载的地址了。 IDA 静态分析 vulnerable_function 里面 read 读了 0x100 字节,但是 buf 只有 0 ......

pwn知识——ret2libc

这一篇主要记录的就是有关libc泄露了,困扰了我许久的玩意终于有写出来的一天了,不容易啊(哭) 不过理解了之后确实就会觉得好写很多嘞 在写题解之前还是写写libc泄露的原理和流程比较好,毕竟我自己学的时候搜索各种资料、看各种视频,真的都看得头大,一路摸爬滚打属实不易,我也希望能写出一篇能让别的初学者 ......
ret2libc 知识 2libc libc ret2

HWS山大专区PWN双一血 & CRYPTO-WP

2023.11.18 两天半的比赛,就打了半天(因为要赶去打香山杯决赛了),不过结果还算好,人生第一次拿了两个一血hhh。写wp的时候人在中大南校北门的酒店里:) controller 格式化字符串泄露canary之后打ret2libc即可。 from evilblade import * cont ......
CRYPTO-WP 专区 CRYPTO HWS PWN

pwn打打基础——BUUCTF篇(1)

BUUCTF刷刷基础题先,打牢下基础 test_your_nc 就非常经典的起引导作用的nc题 格式:nc IP 端口 rip checksec一下 发现开启了部分地址随机化,其它保护什么也没开,有可读写权限,再来看看源代码 发现有gets()函数(并不会限制输入的字节数),也有system("/b ......
基础 BUUCTF pwn
共143篇  :1/5页 首页上一页1下一页尾页