![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pwn
文章平均质量分 88
__lifanxin
砥砺前行,不忘初心!
展开
-
pwn题堆利用的一些姿势 -- exit_hook
exit_hook概述exit_hook 介绍一个例子总结pwn题堆利用的一些姿势 – free_hookpwn题堆利用的一些姿势 – malloc_hookpwn题堆利用的一些姿势 – IO_FILEpwn题堆利用的一些姿势 – setcontext概述 在做堆题的时候,经常会遇到保护全开的情况,其中对利用者影响最大的是 PIE 保护和 Full RELRO ,NX 保护和栈保护对堆利用来说影响都不大,一般利用也不会往这方面靠。开了 PIE 保护的话代码段的地址会变,需要泄露代码段基地址才能原创 2021-11-27 19:50:53 · 2230 阅读 · 0 评论 -
2021-鹏城实验室网络安全技能大赛-pwn-babyheap 题解
Write Up文件信息漏洞定位利用分析WP总结文件信息 本题来自于2021年的鹏程杯比赛的pwn题,题目链接如下:2021-鹏程杯-pwn-babyheap。 该题目主要考查了libc-2.29.so及以上版本的off-by-null利用方式,本题目使用的是libc-2.31.so,知识点学习推荐博客glibc2.29下的off-by-null。同时作为堆题,保护全开,没有可用的show功能函数,必须使用IO_FILE来leak libc,知识点学习推荐博客pwn题堆利用的一些姿势 – IO_F原创 2021-09-28 20:42:31 · 2416 阅读 · 7 评论 -
python z3库学习
z3库学习概述z3库的安装申明求解变量范围增加方程约束与求解总结概述 最近做逆向题,有很多线性方程需要用该库进行求解,故写篇博客记录一下。z3库的安装$ pip install z3# 上面命令失败的话可以尝试$ pip install z3_solver申明求解变量范围from z3 import *# a为整数解,Ints用于一次性申请多个a = Int("a")a, b = Ints("a b")# 有理数解a = Real("a")a, b = Reals("a原创 2021-09-08 15:41:14 · 2209 阅读 · 0 评论 -
CTF pwn/re手在学习过程中的零碎操作积累
零碎操作积累概述使用指定版本的libc运行pwn题使用指定版本的libc编译源程序总结概述 谨以此片文章为我那不争气的记性做个记录,随便造福大家,另外如果各位看官也有些骚操作或者基操的话,也请不吝赐教,留言评论,在下定临表涕零,感激不尽。使用指定版本的libc运行pwn题 这里给几个下libc的网站:ubuntu glibc官网清华大学开源镜像站 使用指定版本libc运行pwn题的终端操作:# 指定libc$ LD_PRELOAD=/usr/local/libc/libc-2.2原创 2021-09-06 21:55:59 · 1476 阅读 · 0 评论 -
x86汇编语言杂记
杂记概述汇编语言中"\x00"的妙用总结概述 这里记录一下在做ctf比赛过程中遇到的一些特殊汇编指令以及利用一些opcode来解题的方式,一来防止忘记,二来方便他人。汇编语言中"\x00"的妙用 本小节的灵感来自于pwn题 – starctf_2019_babyshell,buuoj上有复现,题目本身很简单,分析过程就不贴IDA截图了。题目的意思就是让我们直接输入一段shellcode,然后会执行它,当然输入的shellcode必须是在规定的一些字符内。如果完全按照这个要求去构造shellcod原创 2021-09-01 19:03:01 · 433 阅读 · 0 评论 -
CTF Blind pwn题型学习笔记
Blind pwn概述如何辨别漏洞类型逻辑漏洞盲打格式化字符串盲打原理阐述例题讲解axb_2019_fmt32栈溢出盲打堆盲打总结概述 所谓Blind pwn,即是在无法获得二进制程序文件的情况下对题目进行漏洞利用。这篇博客主要是将见到过的盲打pwn题做一个总结,大概可以分为以下几类盲打pwn题:逻辑漏洞盲打、格式化字符串盲打、栈溢出盲打、堆盲打。如何辨别漏洞类型 对于盲打题,首先第一步应该是判断属于哪种类型的盲打,判断的步骤也很简单,nc连上后,直接看程序提供的菜单功能。 一般来说,需要逻原创 2021-08-31 22:20:52 · 1886 阅读 · 4 评论 -
AFL (American fuzzy lop) 二进制程序模糊测试工具学习
AFL前言AFL的安装AFL运行界面介绍fuzzing -- 有源码的程序fuzzing -- 无源码的程序总结前言 在学习了一段时间的pwn后,我个人对漏洞挖掘也是充满了极大的兴趣,但是真实环境中的漏洞挖掘和CTF中的pwn题还是有很大区别的。原因在于,CTF中的pwn题代码量少,实现逻辑并不复杂,存在的漏洞也是比较明显的,一般都是通过代码审计就能发现;而在真实环境中,代码量大,实现逻辑复杂,虽然造成漏洞的代码可能和pwn题相差不大,但是在庞大的代码量下,通过代码审计的方式来发现漏洞并不是一个好的方原创 2021-08-14 15:00:05 · 5524 阅读 · 2 评论 -
2021DASCTF实战精英夏令营暨DASCTF July X CBCTF 4th -- WP [pwn]
WP概述EasyHeaprealNoOutputold_thing总结概述 前天又参加了一次激动人心的比赛,好吧,确实只能说是激动人心,毕竟没有物质回报,好的名次和中将名额总是和自己无缘。废话不多说,直接看wp。 所有题目和环境都在buuoj上有复现,这里感谢buuoj在我学习ctf过程中提供的做题环境以及时不时搞几场比赛来激励(打击/(ㄒoㄒ)/~~)我努力学习。EasyHeap 题目是常规的堆题,64位程序,保护全开,漏洞也算明显,当然对strdup函数功能不熟悉的同学可能需要调试后才能原创 2021-08-03 23:29:44 · 1301 阅读 · 4 评论 -
pwn题堆利用的一些姿势 -- setcontext
setcontext概述setcontext介绍setcontext具体操作setcontext实例总结pwn题堆利用的一些姿势 – malloc_hookpwn题堆利用的一些姿势 – free_hookpwn题堆利用的一些姿势 – IO_FILE概述 在做堆题的时候,经常会遇到保护全开的情况,其中对利用者影响最大的是PIE保护和Full RELRO,NX保护和栈保护对堆利用来说影响都不大,一般利用也不会往这方面靠。开了PIE保护的话代码段的地址会变,需要泄露代码段基地址才能利用存储在bss段上原创 2021-06-27 20:13:06 · 3334 阅读 · 4 评论 -
2021 DASCTF X BUUOJ 五月大联动WP
DASCTF X BUUOJ 五月大联动WP概述pwnDASCTF_X_BUUOJ_2021_ticketDASCTF_X_BUUOJ_2021_cardre总结概述 这个五月我又参加了一次不留痕迹的ctf比赛,之所以叫不留痕迹,是因为总是拿不到好的名次????,比赛结束前1小时还能苟进前10,不过后面还是被反超了。不好在安慰自己,新手嘛,刚刚上路,稳扎稳打,持续努力,定有收获。 这个比赛完整环境可以在buuoj上找到,简单分析一下题目分布情况,pwn 2道,re 2道,web 2道,crypto原创 2021-05-30 19:36:03 · 1708 阅读 · 7 评论 -
CTF pwn题之虚拟机题型详解
虚拟机题型详解概述如何分析一个例子总结概述 随着对pwn题的学习,慢慢开始接触VM虚拟机的pwn题了,刚开始做这种类型的题时会发现代码量比较大,略显复杂,复杂的部分主要是在用程序实现虚拟机指令那里。 其实这种题做法和普通pwn类似,也是寻找漏洞,复杂的地方在于需要我们去分析出虚拟机实现的指令,然后用这些指令操作进行漏洞利用。如何分析 接下来介绍下如何分析,对于VM类型的pwn题,复杂的地方在于分析出该VM对应实现的指令,那么如何分析需要一定章法。这里需要简单知晓一些计算机组成原理和汇编语言的原创 2021-05-24 16:44:50 · 1476 阅读 · 0 评论 -
OGeek_2019_Final OVM题解
WP程序分析程序主逻辑分析虚拟机指令分析利用思路exp总结程序分析 本题目是一道典型的虚拟机题目,通过这道题目,我们可以学习一下VM pwn题的分析技巧和利用思路。 该题目程序和远程环境可以在buuoj上找到,下面老规矩先检查下程序信息,64位小端程序,没有开启栈保护。 做虚拟机的pwn题,我们可以分两大步骤进行,首先先分析一下这个程序是如何实现虚拟机功能的,也就是程序自身的大逻辑,然后我们再详细分析程序虚拟出来的指令,分析指令的过程可能会比较耗时,需要耐心。程序主逻辑分析 我们首先来原创 2021-05-24 16:36:05 · 753 阅读 · 0 评论 -
2021第十四届全国大学生信息安全竞赛WP(CISCN)-- pwn部分
CISCN_2021_WP概述ciscn_2021_lonelywolf总结概述 作为学习不到一年的练习生,今年第一次参加国赛,本以为题目会比较温柔,但是最后只做出了一道pwn题,本来还有两道pwn题是有机会的,但还是缺少一些知识或者技巧吧,没做出来,然后就结束了。本次国赛pwn题出了一道arm 64位结构的,其余都是正常的linux下pwn题,使用libc-2.27.so,有一道考了沙箱机制。ciscn_2021_lonelywolf ciscn_2021_lonelywolf libc-原创 2021-05-17 09:44:03 · 10656 阅读 · 21 评论 -
CTF pwn -- ARM架构的pwn题详解
arm架构的pwn题详解概述环境搭建使用QEMU使用gdb-multiarchARM架构基本知识一道例题参考博客总结概述 ARM架构过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。因此我们常用的手机、平板等移动设备都是采用ARM体系架构的,因此CTF中不可避免也会出原创 2021-05-14 15:23:28 · 2808 阅读 · 8 评论 -
pwn -- 沙盒机制详解
沙盒机制详解概述开启沙盒的两种方式prctl函数调用seccomp库函数使用seccomp-tools识别沙盒两道例题pwnable_asm参考博客总结概述 沙盒机制也就是我们常说的沙箱,英文名sandbox,是计算机领域的虚拟技术,常见于安全方向。一般说来,我们会将不受信任的软件放在沙箱中运行,一旦该软件有恶意行为,则禁止该程序的进一步运行,不会对真实系统造成任何危害。 在ctf比赛中,pwn题中的沙盒一般都会限制execve的系统调用,这样一来one_gadget和system调用都不好使,只原创 2021-05-13 12:42:19 · 6380 阅读 · 1 评论 -
2021年津门杯ctf线上赛记录(WICCTF)
津门杯ctf线上赛概述pwn题easypwnpwnCTFM总结概述 本篇博客记录下自己的第一次ctf比赛经历,其实不完全是第一次,之前也参加过其他比赛,但只能做个签到就走了,这次不一样了,好歹做出了一道pwn题,有一道本来是有机会的,搞错libc了,线上没拿到flag,不过线上复现了下,感觉还行。因此特写下此篇博文,记录自己的一血。????pwn题 我个人现在只会做做pwn题,后面打算也看看web,提升一下综合实力,这里介绍下比赛中的两道pwn题,和官方wp不一样,这里是我自己的思路。easy原创 2021-05-12 20:06:36 · 1942 阅读 · 0 评论 -
pwn题堆利用的一些姿势 -- IO_FILE
IO_FILE概述IO_FILE结构介绍利用IO_FILE进行leakFSOP总结概述 这是pwn题堆利用系列的第三篇文章,本篇文章主要讲解一下IO_FILE结构在pwn题中的利用。一般来说,想到使用IO_FILE结构,是因为pwn题中没有可以用来leak的函数。IO_FILE结构介绍 FILE 在 Linux 系统的标准 IO 库中是用于描述文件的结构,称为文件流。 FILE 结构在程序执行 fopen 等函数时会进行创建,并分配在堆中,然后以链表的形式串联起来,但系统一开始创建的三个文件st原创 2021-05-11 20:11:06 · 5123 阅读 · 5 评论 -
pwn -- glibc-2.29漏洞利用学习
glibc-2.29概述Tcache Stashing Unlink Attack任意位置写入较大值总结概述 这里记录下版本为libc-2.29.so的漏洞利用方式,一是防止遗忘,二是供大家学习。Tcache Stashing Unlink Attack 攻击原理和细节代码我就不分析了,着重记录下攻击方式和效果,这里利用tcache stashing unlink attack可以实现两种攻击效果: 1、任意位置写入较大值 2、任意地址chunk分配任意位置写入较大值 该漏洞发生在原创 2021-04-30 12:25:03 · 573 阅读 · 0 评论 -
pwn题堆利用的一些姿势 -- free_hook
free_hook概述初级必备姿势常规搭配姿势按需进阶姿势总结pwn题堆利用的一些姿势 – malloc_hook概述 在做堆题的时候,经常会遇到保护全开的情况,其中对利用者影响最大的是PIE保护和Full RELRO,NX保护和栈保护对堆利用来说影响都不大,一般利用也不会往这方面靠。开了PIE保护的话代码段的地址会变,需要泄露代码段基地址才能利用存储在bss段上的堆指针;开了Full RELRO的话,则意味着我们无法修改got表,导致无法修改其它函数got表指向system,进一步获取到shell原创 2021-04-16 18:47:36 · 4616 阅读 · 4 评论 -
pwn题堆利用的一些姿势 -- malloc_hook
在做堆题的时候,经常会遇到保护全开的情况,其中对利用者影响最大的是PIE保护和Full RELRO,NX保护和栈保护对堆利用来说影响都不大,一般利用也不会往这方面靠。开了PIE保护的话代码段的地址会变,需要泄露代码段基地址才能利用存储在bss段上的堆指针;开了Full RELRO的话,则意味着我们无法修改got表,导致无法修改其它函数got表指向system,进一步获取到shell。因此也就有了我这一系列文章的目的,在got表无法被修改时,我们往往利用的就是下面的一些hook+one原创 2021-04-12 09:16:28 · 4233 阅读 · 0 评论 -
CTF pwn题堆入门 -- Unsorted bin
Unsorted bin概述攻击方式泄露libc地址总结概述 Unsorted bin也是堆题中常见的,当一个堆块被释放时,且该堆块大小不属于fast bin(libc-2.26之后要填满tcache),那么在进入small bin和large bin之前,都是先加入到unsorted bin的。之后当我们再次分配内存到unsorted bin上寻找时,如果申请的内存堆块小于寻找的unsorted bin,那么会将该内存块切割后返回给用户,剩下的仍然保存在unsorted bin上;如果申请的内存堆块原创 2021-04-08 10:43:40 · 3166 阅读 · 0 评论 -
CTF pwn题堆入门 -- Fast bin
这里写目录标题概述攻击方式实现任意地址分配fast bin poisoninghouse of spirit总结概述 Fast bin是堆利用中最常遇见的情况,常见于libc2.23版本的pwn题中,在那个版本中还没有Tcache机制,在那个版本中漏洞利用还很轻松(????)。 这里简单总结一下fast bin的性质,64位机器下fast bin大小为0x20 – 0x80字节,每个bin链表之间以0x10字节递增;32位机器下为0x10 – 0x40,每个bin链表之间以0x8字节递增(上面的大原创 2021-04-07 23:50:28 · 2401 阅读 · 0 评论 -
CTF pwn题堆入门 -- Large bin
Large bin概述攻击方式分配堆到目的地址house of force总结概述 large bin采用双链表结构,libc-2.23版本下64位机器上,最小为0x400(1024字节),里面的chunk从头结点的fd指针开始,按大小顺序排列。不同于fast bin, small bin, unsorted bin的结构,当属于large bin的chunk被释放时,chunk中还会有fd_nextsize和bk_nextsize指针,分别指向前后第一个与本身chunk大小不同的chunk。当然也就原创 2021-04-07 10:13:03 · 1801 阅读 · 0 评论 -
CTF pwn题堆入门 -- Tcache bin
Tcache attack序言概述攻击方式绕过Tcache分配堆到目的地址tcache poisoningtcache house of spirit总结序言无奈于pwn题中与堆相关的东西实在是比较多,加上到了2021年的现在,ctf比赛中一来就是堆题,还都是新版本libc,对我这种新手中的新手实在不太友好,以此写下这个系列文章,记录自己学习堆漏洞利用过程中的点滴,同时也是个总结吧。结合自己做题的理解,将堆攻击常见的手段和方式按照一定的规律记录下来。本文章系列将分成五大块,即tcache attack原创 2021-04-06 15:39:55 · 3926 阅读 · 8 评论 -
CMCC--simplerop 题解
Write Up文件信息漏洞定位利用分析wp总结文件信息 该样本是我在做BUUCTF上的题刷到的,该题目本身漏洞明显,利用起来也不算太难,不过在我查阅一下他人的wp后发现了多种解法,在这里做个记录和总结。 老规矩先来检查一下文件的信息,32位小端程序,且只开启了NX保护。漏洞定位程序本身采用的是静态链接,所以用IDA进行分析的时候会发现.text段中的函数特别多,当然这本身也是为了配合题目给出的提示方便我们利用这么多的gadgets构造ROP链。然后我们在IDA中定位到main函数,可以原创 2021-03-28 21:26:08 · 1563 阅读 · 9 评论 -
pwntools--SROP工具类SigreturnFrame使用详解
SROP--SigreturnFrame概念SigreturnFrame的使用一个例子程序分析漏洞利用wp总结概念这里简单介绍下SROP的概念,主要是帮助读者理解和使用pwntools提供的SigreturnFrame工具实现漏洞利用。我们都知道ROP吧,即利用.text段中的gadgets,这些gadgets都以ret指令作为结尾,以此串联起来实现我们想要的系统调用进而达到获取目标主机shell的目的。那么如何判断是哪种系统调用呢?这里是根据寄存器的值来进行判断的,只要将相应的寄存器值设置为对应参数原创 2021-03-25 18:50:50 · 2119 阅读 · 1 评论 -
CTF pwn题之格式化字符串漏洞详解
FmtStr格式化字符串类概念求偏移和任意地址写求偏移任意地址写一个例子程序分析漏洞利用wp总结概念在遇到pwn题中格式化字符串漏洞时,我们一般会分两大步实现漏洞利用:首先构造一个payload来寻找输入字符串到栈顶指针的偏移,然后利用偏移实现对目标地址的改写。下面我将介绍pwntools中的FmtStr类如何实现偏移的求解以及对目标地址的改写。求偏移和任意地址写求偏移在格式化字符串漏洞利用中,我们一般都是这样手动构造payload进行偏移求解的,如下图所示,开头输入方便定位的字符串aaaa,然后原创 2021-03-22 09:56:12 · 10899 阅读 · 0 评论 -
pwn题shellcode收集
Write Upshellcodeshellcode这里对pwn中使用到的shellcode做了一个汇总,方便大家参考和使用。# 32位 短字节shellcode --> 21字节\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\xcd\x80# 32位 纯ascii字符shellcodePYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB0原创 2021-02-25 20:47:38 · 4620 阅读 · 0 评论 -
Seccon-ctf-2016-pwn-cheer_msg 题解
Write Up文件信息漏洞定位利用分析wp总结文件信息样本来自2016年Seccon ctf的一道pwn题–cheer_msg,同时这道题目也给了libc文件,减少了漏洞利用难度。检查样本信息: 32位小端程序,开启了栈溢出保护和NX保护。漏洞定位整个程序还是比较易懂的,主体逻辑存在于main和message两个函数。上图展示了main函数的伪C代码,要求输入一个长度,然后按照长度进行相应计算后使用alloca在栈上分配空间。这到题目比价新颖的是使用了alloca函数,该函数不同于一般的原创 2021-02-24 12:45:55 · 485 阅读 · 0 评论 -
boston-key-party-2016-pwn-simple_calc 题解
Write Up文件信息漏洞定位利用分析wp总结文件信息该样本来自2016年boston-key-party ctf的一道pwn题–simple_calc检查样本信息: 只开启了NX保护,64位小端程序漏洞定位将样本拖入IDA进行分析时,会发现text段特别多,仔细分析后会发现很多函数都没有被使用,写完wp后,我猛然发现引用这么多看似无用的text段,其实是为了引用更多的gadget,方便后面ROP链的构造。好的,废话不多说,进行漏洞分析。分析main函数,可以发现该样本是一个菜单题,先要原创 2021-02-18 10:13:06 · 468 阅读 · 0 评论 -
Openctf-2016-pwn-apprentice_www 题解
Write Up文件信息漏洞定位利用分析wp总结文件信息该样本来自2016年Openctf的一道pwn题–apprentice_www检查文件信息: 32位小端程序,只开启NX保护漏洞定位程序main函数如上图所示,setup函数中使用了mprotect开辟了一个可写、可读以及可执行的内存区域,其截图如下;加上checksec信息中的NX保护,其实这里已经暗示了将shellcode存储在此然后执行的漏洞利用方法。接下来我们看一下butterflySwag函数,如下图所示,其中第一个sc原创 2021-02-07 18:31:01 · 218 阅读 · 0 评论 -
0ctf-2017-pwn-char 题解
Write Up文件信息漏洞定位利用分析wp总结文件信息该题目来自2017年0ctf的一道pwn题–char。查看文件信息: 只开启了NX保护,32位小端程序另外该题目还给了libc.so文件,部署时需要将该库文件放到/home/char/目录下,部署的目录位置可以从程序的伪C代码中看出。漏洞定位程序的main函数如上图所示,首先程序可以接受2400字符的输入,但注意这里的scanf的读取限制,比如:空格、回车、换行符等等都是无法读入的,这里的限制体现在后面构造ROP链时地址中不能含有以原创 2021-02-05 09:00:57 · 429 阅读 · 0 评论 -
ret2text失败--记录一次简单的栈溢出
ret2system程序样本程序漏洞Exp总结程序样本来自攻防世界的level0样本,检查样本文件,是64位的小端程序,并且只开启了NX保护。程序漏洞如上图所示,该程序有非常明显的栈溢出并且存在后门函数,所以下面直接上Exp,并且解释下载ubuntu20.04上遇到的漏洞利用问题。Expfrom pwn import *context(os="linux", arch="amd64", log_level="debug")#p = remote("220.249.52.134",原创 2021-01-20 10:02:24 · 478 阅读 · 0 评论 -
ciscn_2019_n_3 题解
Write Up知识点关键字样本运行静态分析求解思路求解脚本知识点关键字UAF fastbin样本ciscn_2019_n_3运行检查样本 32位小端程序,开启了栈保护和NX保护。运行样本 样本的运行结果如上图所示:该程序主要模仿了一个笔记管理的功能,选项1可以开辟新的节点,会让选中是整型还是文本;选项2会让我们根据索引删除一个节点;选型3可以打印一个节点中存储的数据信息;选项4主要是打印一个随机生成的金钱数目,告诉你没法购买Pro版本。 此处不赘述也不一一截图运行结果,读者可原创 2020-12-30 16:25:31 · 589 阅读 · 0 评论 -
Lctf-2016-pwn100 题解
Write Up知识点和关键字样本运行静态分析程序逻辑求解脚本知识点和关键字栈溢出 ROP 无libc泄露函数地址样本来自Lctf 2016年的pwn题,样本 pwn100(这个资源没办法上传,想要样本的可以留言!)运行查看文件属性 64位程序,只开了NX保护运行样本程序输入超过200个字符串才会回显"bye~",接着报了一个段错误,程序结束静态分析把程序拖进到IDA查看,发现main函数比较简单,主要起作用的是sub_40068E()函数,我们直接进入到这个函数。该函数又原创 2020-12-24 16:48:49 · 784 阅读 · 5 评论 -
攻防世界pwn题 -- secret file 题解
Write Up知识点关键字样本运行静态分析程序逻辑求解脚本知识点关键字栈溢出,popen函数,openssl sha256函数样本样本来自攻防世界的pwn题 – secret file运行查看文件属性 所有保护全开运行样本程序 本地运行会报一个错误即缺少一个libc动态链接库 该库是openssl开源库,用来实现一些加密算法的,这里给出libcrypto.so.1.1,报错的可以添加到自己本地,使用如下代码在本地/usr/lib下创建一个软链接就行。ln -s libcrypt原创 2020-12-24 08:52:13 · 871 阅读 · 0 评论 -
ctf - pwn题之alarm函数
目录什么是alarm()为啥要使用alarm()关闭alarm()总结什么是alarm() 如上图所示,在做一些pwn题的时候,我们有时会遇到alarm(0xAu)函数。alarm函数中的参数0xAu是十六进制无符号数,即十进制对应10,所以该函数的作用是在程序运行10秒后,给进程发送SIGALRM信号,如果不另编写程序接受处理此信号,则默认结束此程序。所以运行此样本10秒后的截图如下所示,程序结束时提示Alarm clock:为啥要使用alarm() 知道什么是alarm(),那么为啥要设原创 2020-12-15 15:40:05 · 2263 阅读 · 2 评论 -
get_started_3dsctf_2016 题解
Write Up知识点关键字样本运行静态分析动态调试求解思路求解脚本知识点关键字栈溢出,ROP + shellcode样本get_started_3dsctf_2016样本下载运行检查文件: 32位小端程序; 开启了NX保护,栈保护未开启。运行程序:静态分析动态调试求解思路求解脚本...原创 2020-12-11 19:30:56 · 1033 阅读 · 6 评论 -
pwntools工具的使用(随时更新中...)
pwntools工具的使用基本交互和输入输出绑定要处理的程序获取程序输出实现输入基本交互和输入输出绑定要处理的程序# 远程# remote(ip/hostname, port)p = remote("127.0.0.1", 8888)# 本地# 注意process中参数一定要有./p = process("./pwn")获取程序输出buf = p.recvline() # buf为程序的一行输出buf = p.recv() # buf为程序的当前全部输出# 直原创 2020-12-11 09:36:03 · 4785 阅读 · 1 评论 -
linux环境下shellcode的编写:32位和64位
linux环境下shellcode的编写shellcode的理解使用pwntools工具编写自己实现更精炼的32位shellcode64位shellcodeshellcode的理解 我们在做pwn的时候经常需要使用shellcode来获取到flag,那么shellcode如何理解,简单一句话就是:获取到shell的code就是shellcode。 在漏洞利用过程时,我们将精心编制好的shellcode通过有问题的程序写入到内存中,然后执行。该shellcode对应的c语言代码一般为:system原创 2020-12-10 09:31:25 · 4313 阅读 · 0 评论