
ctf-pwn
breezeO_o
网络安全
展开
-
[pwn]星号格式化串:2020网鼎杯白虎组pwn quantum_entanglement wp
[pwn]星号格式化串:2020网鼎杯白虎组pwn quantum_entanglement wp文章目录[pwn]星号格式化串:2020网鼎杯白虎组pwn quantum_entanglement wp题目分析利用方法1利用方法2还是一个比较有意思的个格式化串题目,限制了输入长度,需要使用星号的格式化串完成利用。题目分析题目名字:量子纠缠,实际没啥关系,强行起名,首先查看安全策略:没有PIE,程序的逻辑就让你输入first name和last name,然后就输出了:然后逆向分析题目:没原创 2020-05-16 11:59:39 · 11872 阅读 · 4 评论 -
[pwn]VMpwn:2020网鼎杯青龙组pwn boom2 wp
2020网鼎杯青龙组pwn boom2 wp比赛的时候被特斯拉那道隐写恶心到了,导致一直在肝那道题,也没看pwn,赛后看了组内大佬的wp,感觉这道pwn也不是很难,于是自己又做了一遍。这道题总共80+队伍做出来,反而更难的pwn1 boom1却有200+队伍做出来,不得不说py真的很严重,赛后我看群里说比赛的时候好像有一份pwn1的exp在全网流通,有点小恶,但也无所谓,名词不重要,自己学到东西才是最重要的。题目分析首先检查一下安全策略:安全策略全开,然后简单看一下逻辑:执行之后让你输入co原创 2020-05-12 16:24:51 · 12430 阅读 · 2 评论 -
[pwn]调试:gdb+pwndbg食用指南
gdb+pwndbg组合拳文章目录gdb+pwndbg组合拳前言及安装基本指令执行指令断点指令下普通断点指令b(break):删除、禁用断点:内存断点指令watch:捕获断点catch:打印指令查看内存指令x:打印指令p(print):打印汇编指令disass(disassemble):打印源代码指令list:修改和查找指令修改数据指令set:查找数据:堆操作指令(pwndbg插件独有)其他pw...原创 2019-12-31 22:17:48 · 55838 阅读 · 13 评论 -
[pwn]关于有符号与无符号的比较
关于有符号与无符号的比较有的时候再做pwn题目的时候IDA并不能将有符号或者无符号数的比较显式的表示出来,导致如果不细心的话会错过一些漏洞,比如整数溢出,负数绕过等等。为了避免这种情况,建议每次遇到条件的比较或者加减操作,就查看汇编代码,看跳转指令是有符号还是无符号的跳转,整理如下:A(above)大于;B(below)小于;(equal)等于:无符号数G(great)大于;less th...原创 2019-12-31 22:16:25 · 9410 阅读 · 0 评论 -
一些经常用到的二进制环境整理[不定期更新]
一些经常用到的二进制环境文章目录一些经常用到的二进制环境下载和安装和基本配置kali下载修改ipvmtools重新安装vmtools安装pwntoolsdocker初级调试-ida+docker远程调试初级调试方法简介docker导入镜像常用docker命令ida远程调试开启tcp监听进阶调试-pwndocker初级调试方法简介pwndocker下载pwndocker启动pwndocker内置工...原创 2019-12-31 22:06:41 · 10632 阅读 · 0 评论 -
[pwn]堆:realloc_hook控制栈结构达成onegadget
[pwn]realloc_hook控制栈结构达成onegadget文章目录[pwn]realloc_hook控制栈结构达成onegadgetchunk extend通过realloc调整栈帧来满足onegadgeteasy_pwn wpchunk extendchunk extend是一种限制比较少的堆利用方式,通常通过off by one或off by null来利用。chuank ex...原创 2019-12-31 22:04:26 · 11641 阅读 · 7 评论 -
[pwn]遇到不会的题不要急要一步步分析(和请教大佬)
遇到不会的题要一步步分析(和请教大佬)文章目录遇到不会的题要一步步分析(和请教大佬)拿到题目,没见过的船新题型传统方法简单分析并不能解决询问大腿github找到部分源码思路突破新工具完成逻辑交互程序逻辑利用思路拿到题目,没见过的船新题型公司内部比赛试题一拿到题目,发现压缩包并不简单,怎么还有个奇怪的东西混进来了。于是解压之后直接打开这个奇怪的东西,发现并看不懂:什么鬼东西花里胡哨的,先...原创 2019-12-31 21:53:25 · 9859 阅读 · 1 评论 -
[pwn&re]使用IDA flair恢复静态编译去符号的库函数名
使用IDA恢复去符号的库函数名文章目录使用IDA恢复去符号的库函数名IDA flair自己制作签名文件自动检测脚本在一些时候经常遇到静态编译并且去符号的题目,打开的画风就是这样的:和这样的:虽然说我们也可以根据参数的类型或者参数的数量手动分析出原函数的名字或功能,但无论如何也太麻烦了,再者有的时候还会有一些其他的干扰,那更会加大分析难度,这里提供一个简单的还原库函数名称的IDA功能:f...原创 2019-12-31 21:22:49 · 15239 阅读 · 0 评论 -
[pwn]堆:fastbin attack详解
[pwn]fastbin attack文章目录[pwn]fastbin attackfastbin attack原理double freeuse after freechunk extend需要注意的点:0ctf:babyheapfastbin attack原理fastbin attack是利用fastbin分配原理的漏洞,利用要求是我们能够修改“已释放”堆块。通常情况下与double fr...原创 2019-12-31 21:12:56 · 16112 阅读 · 3 评论 -
[pwn]堆:堆风水与堆排布-babyfengshui
[pwn]堆:堆风水与堆排布-babyfengshui所谓堆风水也叫作堆排布,其实说严格了并不是一种漏洞的利用方法,而是一种灵活布置堆块来控制堆布局的方法,在一些一些其他漏洞的利用中起到效果。通过一道经典的题目,由清华蓝莲花战队出的babyfengshui来看一下:babyfengshui查看安全策略没开PIE,但值得一提的是这是一个32位的程序,32位的堆是4字节对齐的。查看程序逻辑...原创 2019-12-31 20:59:40 · 12534 阅读 · 1 评论 -
各类调用约定小结
文章目录各类调用约定小结综述__stdcall__cdecl__fastcall__thiscall__nakedcall__pascal各类调用约定小结主要总结下__stdcall,__cdecl,__fastcall,__thiscall,__nakedcall,__pascal几种调用约定的原理。综述函数的调用约定就是在函数调用的时候的一些规则,包括:函数参数的压栈顺序,由调用...原创 2019-04-23 13:02:46 · 9554 阅读 · 0 评论 -
[pwn]格式化字符串:0ctf 2015 login writeup
文章目录格式化字符串:0ctf 2015 login writeup格式化字符串漏洞题目分析利用思路开始利用格式化字符串:0ctf 2015 login writeup格式化字符串漏洞格式化字符串漏洞是不正确的使用printf函数导致的,为了简便使用printf(s),而s是用户可控的字符串,就会导致任意地址读和任意地址写漏洞。**归根结底,由于printf的参数个数是不确定的,而函数本身根...原创 2019-09-26 15:52:37 · 9402 阅读 · 0 评论 -
[pwn]堆:熟练掌握double free+unlink
double free+unlink 4-ReeHY-main-100 writeup一道经典的堆溢出题目4-ReeHY-main-100题目分析江湖规矩,先看安全策略:还可以,没有full relro说明可以修改got表。然后看看程序的逻辑:一看到菜单基本就是堆得题目没跑了,然后IDA查看反汇编代码:create函数(我改名后):整个create函数充斥着符号溢出的味道…然...原创 2019-09-06 23:53:17 · 9135 阅读 · 0 评论 -
[pwn]堆:Use After Free
Use After Free:time_formatter writeupUAF漏洞就是Use After Free,再释放后继续使用,Use After Free会引发各种奇怪的现象,根据场景的不同并没有一种统一的利用方式。下面看题目:time_formatter日常惯例,先查看安全策略:开启了canary、NX、ASLR,然后查看一下程序逻辑:很常见的堆菜单,下面查看一下各种功能:...原创 2019-09-06 23:35:09 · 8666 阅读 · 0 评论 -
[pwn]ROP:绕过ASLR&NX
# [详细] ROP:绕过ASLR&NX这次使用的程序是Defcon - 2015初赛题目,r0pbaby,也是一道经典的pwn题目了。NX策略是指在栈中的代码不会被执行,ASLR是使共享库的装载位置随机化不可预测。信息搜集首先查看是64位还是32位文件:然后查看安全策略:可见开启了NX和PIE,PIE也就是ASLR。然后在IDA中查看伪代码,无需详细阅读,直接找溢出函数即...原创 2019-05-27 15:54:21 · 10608 阅读 · 0 评论 -
[pwn]ROP:使用通用gadget
[详细] ROP:使用通用gadget这次试用的是LCTF2016的试题pwn100,参考i春秋上的这篇文章 在这里详细讲解如何利用通用gadget构造一个复杂的ROP链。通用gadget介绍介绍一段通用的gadget,通常出现在64elf位文件的__libc_csu_init函数中(截图来自本程序pwn100,很多64位二进制文件都有):这其中有三段gadget,第一段是pop ...原创 2019-07-06 15:45:53 · 14884 阅读 · 0 评论 -
[pwn]ROP:通过ESP和EBP间接控制EIP
[详细]ROP:通过ESP和EBP间接控制EIP这次试用的是Alictf2016的试题vss,参考[i春秋上的PWN入门4](<https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=42534&highlight=pwn>) ,不得不说Sp4ce大佬选的例子都非常好,文章也非常好。我在这里算是详细讲解如何利用ESP...原创 2019-07-10 02:34:37 · 9030 阅读 · 0 评论 -
[pwn]ROP:三道题讲解花式绕过Canary栈保护
文章目录绕过Canary栈保护Canary栈保护babystack writeupMary_Morton writeup绕过Canary栈保护Canary栈保护Canary是一种栈保护手段,通常通过在栈中插入cookie信息(一般在ebp上方),在函数返回的时候检查cookie是否改变,如果改变则认为栈结构被破坏,则调用一个函数强制停止程序。当开启Canary保护的时候不能通过传统的栈溢出直...原创 2019-08-26 21:52:08 · 11357 阅读 · 0 评论 -
[pwn]ROP:信息泄露获取libc版本和地址
文章目录通过信息泄露获取libc版本和地址DynELF模块介绍pwn200 writeuppwn100 writeup通过信息泄露获取libc版本和地址有一些pwn题目中我们可以找到很明显的溢出,但程序中并没有system函数,也没有给出libc版本。但我们可以通过反复的溢出打印一些内存的值来在内存中搜索system的地址,这里主要使用的工具是pwntools中的D以内ELF模块。DynEL...原创 2019-08-26 22:00:15 · 13460 阅读 · 0 评论 -
[pwn]逻辑复杂利用简单
逻辑复杂利用简单的pwn遇到了一道坑有很多的题,记录一下。题目:forgot,题目地址:forgot首先查看安全策略不是很高,就一个NX,看看代码逻辑吧,直觉告诉我并不简单:一张图放不下,其实有溢出,但我由于主函数太长了还一堆小函数,没注意(吓到了)。中间switch之中的一堆小函数都是判断是不是字母、数字、下划线之类的,比如:而且最后有个调用:调用的值又和v14有关,导致...原创 2019-08-26 22:04:34 · 7611 阅读 · 0 评论 -
[pwn]通过覆盖seed值劫持rand()函数
文章目录通过覆盖seed值劫持rand()函数guess_num writedice_game writeup通过覆盖seed值劫持rand()函数遇到了一种提醒,不是通过劫持eip然后getshell,而是程序中给了利用函数,但需要满足一定条件,比如连续猜对N个随机数。这里使用两个例题:guess_num write题目地址:guess_num查看安全策略:全开…然后查看反汇编:...原创 2019-08-26 22:09:08 · 8735 阅读 · 0 评论 -
[pwn]关于printf输出时机的坑
关于printf输出时机的坑今天遇到了一个特别有意思的题,本来很简单的利用,但一直没有算出来,最后发现是一个很简单的却很细节的问题。welpwn详细writeup题目地址:welpwn首先查看一下安全策略:保护很少,然后看一下代码逻辑:read读入了0x400个字节,一般这么长必有溢出,注意echo并不是系统函数,查看echo逻辑:s2只有16个字节,但却复制了一个0x400字...原创 2019-08-26 22:13:28 · 8417 阅读 · 0 评论 -
[pwn]ROP:灵活运用syscall
灵活运用syscall遇到了一个程序并不复杂,但利用却很麻烦的题目,Recho题目详细writeup,题目地址:Recho按照惯例,查看安全策略:基本没啥安全策略,然后查看程序逻辑,程序很短,就一个main:很容易就找到溢出点,大体逻辑就是,先输入一个数,小于15会被认为是16,然后再输入一串字符串,程序会将前x(刚输入的数字)个字符拷贝到buf中,这里没有上限,所以存在溢出。但问题是...原创 2019-08-26 22:18:06 · 10176 阅读 · 0 评论 -
[pwn]堆:unlink绕过,0CTF2015 freenote详解
[pwn]堆:2free=unlink绕过,0CTF2015 freenote题目地址,提取码:f0xd拿到题目,国际惯例,首先查看安全策略;没有开启PIE和full partial。然后查看程序逻辑:函数的名字已经被我改过了,比较常见的堆溢出漏洞的菜单和功能,值得一提的是init__函数(原来名字是啥我忘了):申请了一大块地方,用来做记事本的索引。这个结构体在后面根据上下文可以...原创 2019-09-02 23:38:23 · 9406 阅读 · 0 评论 -
[pwn]ROP:绕过NX策略
ROP学习实例:绕过NX策略我们使用的例子是这篇博客中的第一个例子:https://bbs.ichunqiu.com/thread-42530-1-1.html?from=sec,在i386环境中运行,很简单的一道题,这里提供一种更加简单的解法,只需细致观察,可以免除一些不必要的计算。NX策略是使栈区域的代码无法执行,但我们可以使用ROP绕过。ROP技术就是不需要自己手动写shellcode...原创 2019-05-03 09:55:54 · 11262 阅读 · 0 评论