ctf
文章平均质量分 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 · 2121 阅读 · 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 · 2370 阅读 · 7 评论 -
CTF 逆向工具angr的学习笔记
angr概述基本用法总结概述 angr 简单介绍一下angr,借助官方的原话就是 – A powerful and user-friendly binary analysis platform!,一个功能强大且用户友好的二进制分析平台。这里主要总结一下使用angr解决ctf逆向题的一些用法和套路。 安装的话,大家可以直接使用pip安装,不过这里可能会遇到一个小坑。我在安装angr之前已经安装了pwntools,此时再安装angr,由于有一个依赖库两者需要的版本是不一样的,所以安装后导致pwnt原创 2021-09-14 23:12:09 · 3717 阅读 · 2 评论 -
羊城杯_2020_babyre 题解
babyre题目信息考查知识题目分析WP脚本总结题目信息 本题目来自于2020年羊城杯的逆向题,可以在buuoj上找到题目复现。考查知识 本题目考查的知识点有:DES/AES算法,SMC自修改代码,以及合理利用动态调试来快速解题。 关于动态调试,这里很多人可能会遇到环境问题,主要是因为题目调用了openssl的动态加密算法库,所以本地也得有一个。同时还需要注意openssl加密算法库的版本问题,该题目必须使用libcrypto.so.1.0.0。这里我给出该算法库文件 – libcrypto原创 2021-09-09 15:33:56 · 1060 阅读 · 0 评论 -
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 · 2163 阅读 · 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 · 1444 阅读 · 0 评论 -
tea系列加密算法学习笔记
tea系列加密算法概述tea算法xtea算法xxtea算法总结概述 最近在做ctf逆向的题目中多次遇到了该算法,因此打算重写一篇完整的博客来详细学习下该算法。 TEA(Tiny Encryption Algorithm),是一种分组加密算法,实现过程比较简单,从其名字也能看出这是一种微型的加密算法,效率极高。该系列一共有三种算法,tea --> xtea --> xxtea,从右往左依次是前面的升级版。此系列算法都使用了一个神秘常数作为倍数,源于黄金比率,程序中一般写作0x9E3779原创 2021-09-03 10:56:22 · 3740 阅读 · 0 评论 -
CTF Blind pwn题型学习笔记
Blind pwn概述如何辨别漏洞类型逻辑漏洞盲打格式化字符串盲打原理阐述例题讲解axb_2019_fmt32栈溢出盲打堆盲打总结概述 所谓Blind pwn,即是在无法获得二进制程序文件的情况下对题目进行漏洞利用。这篇博客主要是将见到过的盲打pwn题做一个总结,大概可以分为以下几类盲打pwn题:逻辑漏洞盲打、格式化字符串盲打、栈溢出盲打、堆盲打。如何辨别漏洞类型 对于盲打题,首先第一步应该是判断属于哪种类型的盲打,判断的步骤也很简单,nc连上后,直接看程序提供的菜单功能。 一般来说,需要逻原创 2021-08-31 22:20:52 · 1743 阅读 · 4 评论 -
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 · 1247 阅读 · 4 评论 -
CTF之二进制逆向学习 -- 混淆算法积累
混淆算法积累概述JSFUCK总结概述 最近做逆向题,开始遇到代码混淆相关的知识点,这里做一个纪录,一来防止遗忘,二来供大家学习参考。JSFUCK jsfuck混淆是基于js的原子性,它可以用6个字符来实现js编程,这6个字符是()[]+!。如下代码所示,是alert(1)的混淆代码展示,将下面代码粘贴到控制台即会弹窗1。[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[]原创 2021-07-19 21:49:24 · 875 阅读 · 1 评论 -
BUUCTF crackMe 题解
crackMe程序信息题目分析main函数分析sub_401830关键函数分析动态调试byte_416050求解总结程序信息 这道题目来自于哪个实际比赛,我没有去找,我个人是从buuoj上刷到的,位于re部分第二页,题目只有一分,做出来的人也比较多,看起来应该是个简单的题目。 之所以要写这个wp,是对题目的答案存在一些疑问,网上也有很多wp,我都看了一下,大致都出自于同一个人的手笔O(∩_∩)O。我个人感觉网上的wp分析过程都漏了一步,虽然这样得出的flag可以通过buuoj,但是这是个crack原创 2021-07-12 10:46:00 · 3325 阅读 · 13 评论 -
CTF之web学习记录 -- 网站信息搜集
网站信息搜集概述GitHackDirSearch总结概述 我个人自学web已经有了一段时间了,但总感觉少了些什么,从做题角度上来讲,遇到的web题要么是直接给了源码需要审计的,要么是会给足够的提示,让你知道是考察注入还是文件上传等。那么如果不给源码,不给提示呢,我们面对一个功能众多的网站该如何下手?此时就需要这一章的内容,我愿称其为web学习中灵魂的章节。 接下来我将根据做题的积累,介绍下ctf中常用的一些信息搜集思路和工具。GitHack GitHack 现在的开发人员使用git进行版原创 2021-07-06 20:57:23 · 610 阅读 · 0 评论 -
CTF之web学习记录 -- 命令注入
命令注入概述常见攻击方式使用管道符号escapeshellarg和escapeshellcmd命令执行漏洞修复总结概述 web服务器后端代码有时会调用一些执行系统命令的函数,以常见的php语言为例,使用system/exec/shell_exec/passthru/popen/proc_popen等函数可以执行系统命令。因此一旦我们可以控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。常见攻击方式使用管道符号 我们以一段简单的php代码为原创 2021-07-04 21:13:46 · 1241 阅读 · 4 评论 -
CTF之web学习记录 -- SSRF
SSRF概述SSRF原理SSRF漏洞修复一道例题总结概述 SSRF(Server-Side Request Forgery)服务器端请求伪造,是一种由攻击者构造请求,服务器端发起请求的安全漏洞。当然之所以要这样曲折,是因为SSRF的目标一般是外网无法访问的内部系统,所以需要用服务器端发送。SSRF原理 SSRF形成的原因在于服务器端提供了从其它服务器应用获取数据的功能且没有对目标地址做过滤和限制。通过该漏洞我们可以攻击内网的服务器,获取相应的资源信息,利用file协议读取内部网络文件等。 如原创 2021-06-29 20:49:13 · 1845 阅读 · 2 评论 -
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 · 3164 阅读 · 4 评论 -
CTF之二进制逆向分析 -- 密码学知识积累
密码学知识积累概述凯撒密码base64加密总结概述 在ctf比赛中,逆向这块很大一部分都是在考查密码学的知识,其中需要逆向的代码基本都会是一些加解密的操作,因此有必要学习和积累一些常见的密码学知识。当然这里我们并不太需要知道如何使用密码学上的方法去破解加密密文,如果一定要破解的话,也是有工具和对应程序实现的。因此我们要做的就是去熟悉这些密码学的加密方式,并在逆向代码中认出来。凯撒密码 凯撒密码(Caesar),相传为凯撒所创,属于古典密码学中的移位密码。这种加密方式比较简单,就是将字母的对应关系原创 2021-06-23 09:29:01 · 7000 阅读 · 0 评论 -
CTF之web学习记录 -- 文件上传
文件上传概述一句话木马常见攻击手段JS检测绕过攻击总结概述 所谓文件上传漏洞,就是web服务器对上传的文件没有做好检测和过滤,从而使得恶意用户可以上传脚本程序到服务器,进而获得服务器权限。这个恶意脚本文件,又被称为WebShell,因此也可以将WebShell脚本作为一种网页后门,一般通过上传的脚本文件,我们可以查看服务器的目录结构和文件,亦或者执行系统命令等。一句话木马 这里先介绍web服务器没有对上传的文件进行任何检测的情况下,我们应该如何攻击。 利用一句话木马,即上传一句话木马脚本文件原创 2021-06-21 12:25:08 · 1302 阅读 · 3 评论 -
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 · 1630 阅读 · 7 评论 -
CTF pwn题之虚拟机题型详解
虚拟机题型详解概述如何分析一个例子总结概述 随着对pwn题的学习,慢慢开始接触VM虚拟机的pwn题了,刚开始做这种类型的题时会发现代码量比较大,略显复杂,复杂的部分主要是在用程序实现虚拟机指令那里。 其实这种题做法和普通pwn类似,也是寻找漏洞,复杂的地方在于需要我们去分析出虚拟机实现的指令,然后用这些指令操作进行漏洞利用。如何分析 接下来介绍下如何分析,对于VM类型的pwn题,复杂的地方在于分析出该VM对应实现的指令,那么如何分析需要一定章法。这里需要简单知晓一些计算机组成原理和汇编语言的原创 2021-05-24 16:44:50 · 1377 阅读 · 0 评论 -
OGeek_2019_Final OVM题解
WP程序分析程序主逻辑分析虚拟机指令分析利用思路exp总结程序分析 本题目是一道典型的虚拟机题目,通过这道题目,我们可以学习一下VM pwn题的分析技巧和利用思路。 该题目程序和远程环境可以在buuoj上找到,下面老规矩先检查下程序信息,64位小端程序,没有开启栈保护。 做虚拟机的pwn题,我们可以分两大步骤进行,首先先分析一下这个程序是如何实现虚拟机功能的,也就是程序自身的大逻辑,然后我们再详细分析程序虚拟出来的指令,分析指令的过程可能会比较耗时,需要耐心。程序主逻辑分析 我们首先来原创 2021-05-24 16:36:05 · 737 阅读 · 0 评论 -
CTF之web学习记录 -- SQL注入检测绕过
SQL注入检测绕过概述大小写绕过双写绕过编码绕过内联注释绕过总结概述 在学习了一些基本的sql注入知识以及注入技巧后,本篇博客将会总结一些常见的sql注入检测绕过方法。大小写绕过 大小写绕过很好理解,后端程序会过滤掉一些关键词,比如:select/union/and,此时就无法达到注入的效果。想要绕过这种检测,只需要大写某些字母即可,比如:selEct/UniOn/And,之所以可以这样绕过,一是因为后端的检测逻辑不够完善,二是mysql并不区分大小写。双写绕过 双写绕过在ctf比赛中十分原创 2021-05-19 22:01:34 · 939 阅读 · 1 评论 -
CTF之web学习记录 -- SQL注入进阶
SQL注入进阶概述时间注入攻击堆叠查询注入攻击二次注入攻击宽字节注入攻击cookie注入攻击base64注入攻击XFF注入攻击总结概述 这一部分的内容是sql注入知识的进阶部分,引入了更多的注入技巧。时间注入攻击 时间注入攻击的场景同样也是服务器并不返回查询语句的信息,这和boolean注入攻击类似,boolean注入通过true或false来进行数据库信息猜测。时间注入攻击通过利用sleep()或benchmark()等函数让数据库操作时间变长,以此来判断语句是否成功执行。# 判断数据库名长原创 2021-05-19 16:33:10 · 572 阅读 · 0 评论 -
CTF之web学习记录 -- SQL注入基础
SQL注入概述基本原理MySql注入基本知识information_schemasql注入常用知识总结概述 SQL注入就是指web应用程序对用户输入数据的合法性没有判断,没有进行有效的字符过滤,前端传入后端的参数是攻击者可控的,并且参数被带入数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。基本原理 所谓sql注入的基本原理,也就是说sql注入是怎么发生的,我们以下面php代码中构造sql查询语句的方式为例。<?php$id = $_GET['id'];$que原创 2021-05-18 19:29:42 · 674 阅读 · 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 · 10397 阅读 · 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 · 2726 阅读 · 8 评论 -
pwn -- 沙盒机制详解
沙盒机制详解概述开启沙盒的两种方式prctl函数调用seccomp库函数使用seccomp-tools识别沙盒两道例题pwnable_asm参考博客总结概述 沙盒机制也就是我们常说的沙箱,英文名sandbox,是计算机领域的虚拟技术,常见于安全方向。一般说来,我们会将不受信任的软件放在沙箱中运行,一旦该软件有恶意行为,则禁止该程序的进一步运行,不会对真实系统造成任何危害。 在ctf比赛中,pwn题中的沙盒一般都会限制execve的系统调用,这样一来one_gadget和system调用都不好使,只原创 2021-05-13 12:42:19 · 6251 阅读 · 1 评论 -
2021年津门杯ctf线上赛记录(WICCTF)
津门杯ctf线上赛概述pwn题easypwnpwnCTFM总结概述 本篇博客记录下自己的第一次ctf比赛经历,其实不完全是第一次,之前也参加过其他比赛,但只能做个签到就走了,这次不一样了,好歹做出了一道pwn题,有一道本来是有机会的,搞错libc了,线上没拿到flag,不过线上复现了下,感觉还行。因此特写下此篇博文,记录自己的一血。????pwn题 我个人现在只会做做pwn题,后面打算也看看web,提升一下综合实力,这里介绍下比赛中的两道pwn题,和官方wp不一样,这里是我自己的思路。easy原创 2021-05-12 20:06:36 · 1897 阅读 · 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 · 4971 阅读 · 5 评论 -
CTF之web学习记录 -- 文件包含
文件包含概述常见文件包含函数和原理本地文件包含远程文件包含总结概述 后端编程人员一般会把重复使用的函数写到单个文件中,需要使用时再直接调用此文件即可,因此该过程也就被称为文件包含。文件包含的存在使得开发变得更加灵活和方便,但同时也带了安全问题,导致客户端可以远程调用文件,造成文件包含漏洞。这个漏洞在php中十分常见,其他语言也有。常见文件包含函数和原理# phpinclude() // 执行到include时才包含文件,找不到文件产生警告,脚本继续执行require() // 程序运行就原创 2021-05-11 11:08:12 · 17087 阅读 · 0 评论 -
CTF之web学习记录 -- 环境和工具篇
工具篇引言本地web环境搭建安装apache安装PHP引言 作为一名刚入坑二进制不久的新人选手,发现ctf的道路任重而道远,恍惚间又看到一些关于二进制求生之路上的劝退语录,于是为了提升综合素养,开始学习web方向。这里是我从零到一的学习记录,写博客的好处一来是夯实基础,巩固复习,二来是分享经验,希望新入坑的读者可以少走弯路。本地web环境搭建安装apache 这里介绍Ubuntu下apache环境的搭建以及一些常用的终端操作命令。# 安装apache2sudo apt install ap原创 2021-05-03 10:00:33 · 2268 阅读 · 2 评论 -
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 · 560 阅读 · 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 · 4280 阅读 · 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 · 4074 阅读 · 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 · 3051 阅读 · 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 · 2306 阅读 · 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 · 1742 阅读 · 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 · 3817 阅读 · 8 评论 -
CMCC--simplerop 题解
Write Up文件信息漏洞定位利用分析wp总结文件信息 该样本是我在做BUUCTF上的题刷到的,该题目本身漏洞明显,利用起来也不算太难,不过在我查阅一下他人的wp后发现了多种解法,在这里做个记录和总结。 老规矩先来检查一下文件的信息,32位小端程序,且只开启了NX保护。漏洞定位程序本身采用的是静态链接,所以用IDA进行分析的时候会发现.text段中的函数特别多,当然这本身也是为了配合题目给出的提示方便我们利用这么多的gadgets构造ROP链。然后我们在IDA中定位到main函数,可以原创 2021-03-28 21:26:08 · 1491 阅读 · 9 评论 -
pwntools--SROP工具类SigreturnFrame使用详解
SROP--SigreturnFrame概念SigreturnFrame的使用一个例子程序分析漏洞利用wp总结概念这里简单介绍下SROP的概念,主要是帮助读者理解和使用pwntools提供的SigreturnFrame工具实现漏洞利用。我们都知道ROP吧,即利用.text段中的gadgets,这些gadgets都以ret指令作为结尾,以此串联起来实现我们想要的系统调用进而达到获取目标主机shell的目的。那么如何判断是哪种系统调用呢?这里是根据寄存器的值来进行判断的,只要将相应的寄存器值设置为对应参数原创 2021-03-25 18:50:50 · 2062 阅读 · 1 评论 -
CTF pwn题之格式化字符串漏洞详解
FmtStr格式化字符串类概念求偏移和任意地址写求偏移任意地址写一个例子程序分析漏洞利用wp总结概念在遇到pwn题中格式化字符串漏洞时,我们一般会分两大步实现漏洞利用:首先构造一个payload来寻找输入字符串到栈顶指针的偏移,然后利用偏移实现对目标地址的改写。下面我将介绍pwntools中的FmtStr类如何实现偏移的求解以及对目标地址的改写。求偏移和任意地址写求偏移在格式化字符串漏洞利用中,我们一般都是这样手动构造payload进行偏移求解的,如下图所示,开头输入方便定位的字符串aaaa,然后原创 2021-03-22 09:56:12 · 10395 阅读 · 0 评论