ctf
文章平均质量分 57
Anciety
这个作者很懒,什么都没留下…
展开
-
pwnable.tw calc writeup
题目main:int __cdecl main(int argc, const char **argv, const char **envp){ ssignal(14, timeout); alarm(60); puts("=== Welcome to SECPROG calculator ==="); fflush(stdout); calc(); return puts原创 2017-09-27 20:48:27 · 1649 阅读 · 0 评论 -
pwn工具箱之house of force
house of force基本信息利用类型:堆利用堆利用类型:top chunk相关利用思想:通过修改top chunk大小,使得分配任意大小都是从top chunk里边切出来,这样分配一个大小占满想要写的位置和当前分配位置top chunk的差,下一个分配就可以分配出想要写的位置利用难点需要有办法能够更改到top chunk大小需要能够知道当前位置和要写位置的差值需要能够自由控制将原创 2017-07-03 14:40:53 · 970 阅读 · 0 评论 -
pwn工具箱之unsorted bin attack
unsorted bin attack基本信息利用类型:堆利用 堆利用类型:针对unsorted bin的利用,也就是需要用normal chunk或者large chunk释放得到的 利用思想:unsorted bin是一个双链表,在分配时会将unsorted bin中的chunk从unsorted bin中移除,是一个链表的unlink操作。如果能够控制unsorted bin chunk的原创 2017-07-03 13:03:26 · 2788 阅读 · 0 评论 -
google ctf 2017 inst_prof writeup
题目题目本身比较神奇,当时看到这道题的时候还懵了一下,一下子没有太好的思路,不过后两天还有考试所以也没太静下心来想,今天刚考完了再来看这道题感觉其实难度并不是很大。题目给出了一个二进制文件,本能的checksec:[*] '/home/vagrant/ctf/contests/googlectf-2017/inst_prof/inst_prof' Arch: amd64-64-lit原创 2017-06-23 01:20:04 · 1185 阅读 · 0 评论 -
hitcon 2016 pwn babyheap writeup
NoticeFor English information, just get a closer look at my exp.py.题目Heap so fun! Baby, don’t do it first. nc 52.68.77.85 8731 note : the service is running on ubuntu 16.04地址:https://github.com/ctfs/w原创 2017-05-22 16:32:22 · 1006 阅读 · 0 评论 -
pwn工具箱之house of lore
前言我看了一些网上对于这些技术的解释,但是发现他们大多比较绕,对于理解其中心思想造成了难度,所以 我在这里把他们记录下来,把这些技术的中心思想记下来,作为自己的pwn工具箱,在以后解决pwn问题的 时候能够随时拿出来发挥作用。我在这里关注的目标是其利用的思想,和其他的一些post不同,利用条件等等这些我个人认为不是能够直 接被总结的,pwn本身的方法多种多样,十分灵活,如果用一些“第一个chu原创 2017-05-22 16:29:39 · 1416 阅读 · 0 评论 -
pwn工具箱之fastbin attack
fastbin attack基本信息利用类型: 堆利用堆利用类型: 针对fastbin的利用利用思想: 利用fastbin的free只检查是否和上一个freechunk相等,使得同一个chunk两次进入free list,造成UAF,可以更改fastbin free chunk的fd信息,最终分配一个特定地址利用难点需要能够两次free同一个chunk更改fd的时候,为了能够在之后的ma原创 2017-05-22 16:29:05 · 2239 阅读 · 0 评论 -
2017 bctf boj writeup
BCTF 2017 BOJThis is a very interesting challenge for me. We were given a working oj on http://oj.bctf.xctf.org.cn, there was only a single classical problem a + b on it. I tried several times to play原创 2017-05-22 16:28:32 · 987 阅读 · 0 评论 -
ctf pwn 个人经验记录
前言记录一下自己在做pwn的过程当中学到的一些东西,以前不知道的东西等等,碰到的坑也会记录在 这里,主要目的是帮助自己记录一下经验。其实每一道题基本上能学到的新东西是有限的,记录下来避免什么时候想不起来。顺序比较乱,基本上根据我做题的顺序定的,比较随意。pwnother place(not from ctf)多用gdb调试,有思路可以先写出来调试一下看看效果再说遇见pie考虑写malloc_h原创 2017-05-22 16:23:07 · 8892 阅读 · 1 评论 -
2017 429 ichunqiu ctf smallest(pwn300) writeup
Challenge - smallest (pwn 300) - 429 ichunqiu ctf 2017吐槽这次这道smallest确实很有创造力,算是这次比赛我感觉比较好的地方了。这次比赛本身槽点是无数的,10点开始的比赛,11点都进不去平台,紧急修复到12点,然后12点半在网站通知比赛时间到1点,中途一直不肯决定 比赛到底推迟到几点进行,一早上的课都不敢好好上,确实是非常的坑。然后在做这道原创 2017-05-22 16:21:20 · 2319 阅读 · 0 评论 -
0ctf 2017 babyheap writeup
前言坑比的我比赛的时候没有做。。第二天有课,赛后看了看,题目其实没啥太多难度,可能也就是细节上需要注意一下吧题目题目功能简单介绍一下题目功能,因为我本机是用的linux,ida在虚拟机里,ida的复制又不是特别方便,所以我就不复制分析的情况了,具体分析自己做一下练习一下也比较好,就把大致的情况说明一下。首先是主菜单===== Baby Heap in 2017 =====1. Allocate2原创 2017-03-26 15:47:43 · 6315 阅读 · 10 评论 -
pwntools使用简介
0x01 pwntools?pwntools是一个ctf框架和漏洞利用开发库,用Python开发,由rapid设计,旨在让使用者简单快速的编写exploit。pwntools下载:https://pwntools.com/ 文档在线:http://pwntools.readthedocs.io/en/latest/0x02 使用简介官网的一个简单样例from pwn import *contex原创 2016-05-07 11:32:51 · 45248 阅读 · 6 评论 -
pwn工具箱之house of spirit
house of spirit基本信息利用种类:堆利用堆利用种类:释放fake chunk利用思路:通过构造fake chunk,然后使得fake chunk被free,在下一次malloc时返回fake chunk利用难点需要能够控制被free的内容,才能构造fake chunk在free fake chunk的时候,libc会检查next size,也就是从当前位置开始算,加上一个c原创 2017-07-03 15:13:49 · 926 阅读 · 0 评论 -
pwnable.tw orw writeup
题目题目比较简单就不复制了,首先seccomp设置了白名单,然后输入0xc8长度shellcode,直接跳到shellcode执行。分析既然是练习,就要彻底一点。 首先是seccomp dump的问题,目前采用的方法是IDApython脚本dump数据下来,然后输入scmp_bpf_disasm。IDApython的文档非常诡异,函数没有说明,函数的参数也不能直接看出来,所以搜了很长时间找了一个别原创 2017-09-27 09:08:32 · 1869 阅读 · 0 评论 -
pwnable.tw start writeup
题目.text:08048060.text:08048060 public _start.text:08048060 _start proc near.text:08048060 push esp.text:08048061 push offset _exit.te原创 2017-09-27 00:28:28 · 1434 阅读 · 1 评论 -
hitb-2017 1000levels writeup
题目分析题目设置的还是比较巧妙的。本身是一个二进制的文件,linux 64环境,保护情况如下: Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: PIE enabled功能一共三个: 1. go:原创 2017-08-28 11:00:37 · 1659 阅读 · 0 评论 -
bosten key party 2017 memo writeup
memo题目https://github.com/ctfs/write-ups-2017/tree/master/boston-key-party-2017/pwn/memo-300分析题目有些生硬,很多地方都不太能说通,不过就是练习一下,就当刷水题了。逻辑setvbuf等基本操作,以及使用prctl设置了no new privs,所以无法新建进程输入用户密码,密码可以不写,全局变量name和p原创 2017-07-27 19:47:16 · 1026 阅读 · 0 评论 -
bosten key party 2017 signed shell server writeup
signed shell server题目https://github.com/ctfs/write-ups-2017/tree/master/boston-key-party-2017/pwn/signed-shell-server-200分析先随便把玩一下,有两个功能,一个是sign,一个是execute,sign会给出一个命令的签名,然后execute给出命令,并给出签名,如果匹配成功就会使用原创 2017-07-27 15:03:11 · 702 阅读 · 0 评论 -
绿盟杯NSCTF(CCTF)2017 pwn writeup
前言比赛有无数值得吐槽的地方,其中最主要的是,题目给了pwn的libc,然而,特么是错的,也就是说虽然给了libc,但是其实还是靠运气/当做没有libc解,顺手记录一下这两个水题。pwn1分析mainint __cdecl main(){ alarm(0x1u); setbuf(stdin, 0); setbuf(stdout, 0); setbuf(stderr, 0); p原创 2017-07-22 01:12:36 · 6039 阅读 · 0 评论 -
defcon quals 2016 feedme writeup
题目基本信息一个32位的二进制文件,静态链接 checksec:[*] '/home/vagrant/ctf/practice/defcon-2016/pwn/feedme/feedme' Arch: i386-32-little RELRO: No RELRO Stack: No canary found NX: NX enable原创 2017-07-07 15:12:25 · 877 阅读 · 0 评论 -
Python沙箱?不存在的
http://bobao.360.cn/learning/detail/4059.html转载 2017-07-07 11:58:00 · 780 阅读 · 0 评论 -
0ctf final world of fastbin writeup
https://github.com/D-I-E/writeups/tree/master/2017-ctfs/20170602-TCTF-Final/pwn-world_of_fastbins原创 2017-06-13 09:37:52 · 690 阅读 · 0 评论 -
0ctf final upxof writeup
https://github.com/D-I-E/writeups/tree/master/2017-ctfs/20170602-TCTF-Final/pwn-upxof原创 2017-06-13 09:37:21 · 799 阅读 · 0 评论 -
linux wine运行windows ida
前言由于ctf比赛需要,必须得使用ida,然而我本机一直运行的都是manjaro linux。我基本上是使用linux代替windows的,如果缺少这么一个功能,自然代替就无从谈起了。之前一直使用的都是虚拟机,然而最新的manjaro linux更新之后,virtualbox的guest addition应该是和xorg-server存在一些不可告人的错误,只要安装了guest addition就会原创 2017-05-24 14:52:39 · 4861 阅读 · 0 评论 -
2017 rctf RNote2 writeup
QIRA我们在写一些exploit的时候,经常会碰见出现的内存不如预期的情况,这个时候我们就会使用调试器查看到底是什么地方出了问题。这个出错的地方肯定是比现在你查看内存的地方要晚了,也就是说,我们得,倒回去看内存,这在一般的调试器中是实现不了的。qira就是这么一个调试器,它可以做到记录下整个过程,使得调试的过程变得更加简单。总的来说,qira的作用: 1. 进行正常调试 2. 调试时如果发现内原创 2017-05-23 15:43:23 · 1284 阅读 · 0 评论 -
超越时空的调试器-qira
QIRA我们在写一些exploit的时候,经常会碰见出现的内存不如预期的情况,这个时候我们就会使用调试器查看到底是什么地方出了问题。这个出错的地方肯定是比现在你查看内存的地方要晚了,也就是说,我们得,倒回去看内存,这在一般的调试器中是实现不了的。qira就是这么一个调试器,它可以做到记录下整个过程,使得调试的过程变得更加简单。总的来说,qira的作用: 1. 进行正常调试 2. 调试时如果发现内原创 2017-05-23 13:59:48 · 2226 阅读 · 0 评论 -
全国大学生信息安全竞赛writeup--暗号(reverse300)
描述 George是一名FBI特工,昨天他获得了一个命令,在今天晚上纽约林肯中心的大都会歌剧院的演唱会上,将会有恐怖分子出没。George下午结果了一名恐怖分子,在他的身上发现了一个U盘,里面有这样一个程序。George看了程序之后,决定将自己伪装成刚解决掉的恐怖分子的身份。请你帮助George获得这名恐怖分子的姓名和暗号。注:为MadFrog生成注册码tips:flag是flag{暗号}附件描述原创 2016-07-10 22:48:22 · 6168 阅读 · 0 评论 -
全国大学生信息安全竞赛writeup--珍贵资料(reverse200)
描述你无意间得到了一些珍贵资料,可惜他们看起来不知道是什么,据说解开它可以得到flag神器。 tips:flag是flag{结果}附件描述:文件名:珍贵资料.zip校验(SHA1):4EF84DF5B34C12DED8EC3F603CFBC065251864B4思路一个压缩文件,打开解压得到unknown和unknown2,unknown2是一个apk,unknown不知道是啥。安装apk得到一个登原创 2016-07-10 22:27:33 · 6959 阅读 · 0 评论 -
全国大学生信息安全竞赛writeup--careful(pwn150)
描述其实没有描述。。就是一个文件,careful. 打开发现输入index和value,10个之后会打出来一个数组。思路先逆向,ida看看。 main函数很简单,return一个init_array。 到init_array里边就比较好玩了,不想看汇编直接f5,大致函数如下int initarray(){ int result; char s[20]; int v2;原创 2016-07-10 21:40:32 · 3055 阅读 · 0 评论 -
apk重打包和签名(jarsigner)
生成keystore: keytool -genkey -v -keystore temp.keystore -alias temp.keystore -keyalg RSA -validity 20000jarsigner签名: jarsigner -verbose -keystore temp.keystore -signedjar android_signed.apk android.apk原创 2016-06-13 00:47:26 · 517 阅读 · 0 评论 -
2016 alictf Timer android writeup
题目提示:Do you want a time machine? 然后附带一个apk apk下载地址(可能会被ali删除掉)解析:apk安装之后出现一个读秒的,20万秒,大于3600,所以大于一个小时,所以太慢了,不等了。jeb反编译,MainActivity代码:package net.bluelotus.tomorrow.easyandroid;import android.os.Bundl原创 2016-06-13 00:45:06 · 2000 阅读 · 0 评论 -
2016 alictf LoopAndLoop write up
题目[ LoopAndLoop ] The friendship between native and dex. 给出了一个apk 下载地址:(目前可用,取决于alictf的网站)apk分析安装软件,打开,得到一个LoopAndLoop的apk,打开进去,让输密码,点击按钮,可以看到Not Right!或者Not a valid integer number的提示,显然,只要找到密码,应该原创 2016-06-07 23:40:08 · 2213 阅读 · 0 评论 -
arm汇编中ldr指令中出现的等号作用
ldr指令的格式:LDR R0, [R1]LDR R0, =NAMELDR R0, =0X123对于第一种没有等号的情况,R1寄存器对应地址的数据被取出放入R0 对于第二种有等号的情况,R0寄存器的值将为NAME标号对应的地址。 对于第三种有等号的情况,R0寄存器的值将为立即数的值原创 2016-06-07 15:37:29 · 6466 阅读 · 0 评论 -
lock cmpxchg指令
CMPXCHG - Compare and Exchange 0F B0/ r CMPXCHG r/m8,r8 Compare AL with r/m8. If equal, ZF is set and r8 is loaded into r/m8. Else, clear ZF and load r/m8 into AL. 0F B1/ r CMP原创 2016-06-07 15:04:56 · 5434 阅读 · 0 评论 -
SSE指令集简记
SSE?SSE(为Streaming SIMD Extensions的缩写)是由 Intel公司,在1999年推出Pentium III处理器时,同时推出的新指令集。如同其名称所表示的,SSE是一种SIMD指令集。所谓的SIMD是指single instruction, multiple data,也就是一个指令同时对多个资料进行相同的动作。较早的MMX和 AMD的3DNow!也都是SIMD指令集。原创 2016-06-07 14:54:01 · 2249 阅读 · 0 评论 -
加解密归纳汇总(持续更新)
那些年做过的ctf之加密篇 http://drops.wooyun.org/tips/10002那些年做过的ctf之加密篇(补充篇) http://www.secbox.cn/hacker/ctf/8078.html原创 2016-05-09 00:14:58 · 753 阅读 · 0 评论 -
全国大学生信息安全竞赛writeup--拯救地球(reverse500)
描述什么?地球要爆炸了,据说拯救地球的代码就在这个程序里。使命貌似光荣又艰巨…tips:flag是flag{结果}附件描述:文件名:程序校验(SHA1):D78073A4C06468DFC95822A764D792C09A87F78A思路打开看,一个question,逆向发现加壳了,不过这个壳还好比较裸,目测通过加断点dump dex可行,不过把这个东西自动化了,直接找了一个工具就脱了。 工具地址原创 2016-07-10 22:54:28 · 3980 阅读 · 2 评论 -
记一次最简单的exploitme
0x01 前言闲来无事想写一个exploitme,之前虽然做过一些比较简单的ctf题目,可是还一直没有自己写过一个exploitme,本来是一个学长需要,结果由于落入各种坑导致最后没有成功在规定的时间给他。。顺带由此记录一下,如果一个裸的exploitme需要关闭的一些保护0x02 src code#include <stdio.h>#include <string.h>#include <st原创 2016-07-02 17:20:04 · 1240 阅读 · 0 评论 -
记一次shellcode提取经历
前言闲来无事,以前都是去exploit-db找shellcode使用,但是有的时候似乎并不那么顺利,找到了之后却由于一些问题(比如之前有一次,要求shellcode里边不能出现0b和0c之类制表符,否则会提前中断,但是一些打开shell的shellcode基本都有),想到如果自己掌握了提取方法,或许以后会方便一点,根据自己的要求进行一些更改或者调整指令,为此还专门学习了一下内联汇编的使用(发现并没有原创 2016-08-15 11:57:57 · 3363 阅读 · 0 评论 -
堆相关漏洞利用libc异常提示原因记录
Memory Corruption (fast)原因size为fast bin范围。fastbin取出的chunk的size不属于该fastbinsmallbin double linked list corrupted原因size 为smallbin 范围。smallbin的最后一个被取出的时候发现不为double linked list。如拿出的那一...原创 2017-03-26 11:49:10 · 6884 阅读 · 2 评论