unlink- ctf-stkof】的更多相关文章

0x00: 起因 一直在堆的漏洞利用中不得要领,之前ZCTF又是三个堆的利用,血崩,chxx表哥给写了一个heap的pwn,学习学习. 0x01: 关于heap的unlink的漏洞利用,出的很早,在低版本的libc中,因为没有校验,导致在unlink的时候可以通过构造堆块dwordshoot,从而任意代码执行. 对于这种漏洞的学习,首先要了解malloc的工作原理及几种堆块的分配.使用方式.推荐文章 Understanding glibc malloc 0x02: 文件的一些信息 0x03:分析…
最近认真学习了下linux下堆的管理及堆溢出利用,做下笔记:作者作为初学者,如果有什么写的不对的地方而您又碰巧看到,欢迎指正. 本文用到的例子下载链接https://github.com/ctfs/write-ups-2014/tree/master/hitcon-ctf-2014/stkof 首先总结一下linux下堆的分配管理.堆的基本结构见上一篇文章,这里不再赘述. 一个更详细总结的传送门 glibc内存管理ptmalloc源码分析 1.堆区是在进程加载时的一片区域,mmap方式分配的堆结…
论如何在CTF比赛中搅屎 0×00 前言 不能搅屎的CTF不是好CTF,不能搅屎的题目不是好题目. 我很赞成phithon神的一句话,"比赛就是和他人竞争的过程,通过各种手段阻止对手拿分我觉得也是一种能力." 你能够做到别人做不到的,那就是你的本事. 本文所说的搅屎是在GETSHELL的情况下才能进行的!!!遇到phithon师傅的<CTF主办方指南之对抗搅屎棍>就GG了 0×01 预备知识 大多数能够搅屎的题目基本上是PHP且需要getshell的.所以,必备的PHP语法…
简介 Unlink是经典的堆漏洞,刚看到这个漏洞不知道如何实现任意代码执行,所以找了一个CTF题,发现还有一些细节的地方没有讲的很清楚,题目在这里.自己也动手写一遍,体验一下 题目描述 首先,我们先分析一下程序,在checksec中检查文件,发现是64位程序,然后放入IDA中,f5,,得出主程序是这样: void __fastcall main(__int64 a1, char **a2, char **a3) { setvbuf(stdin, 0LL, , 0LL); setvbuf(stdo…
其实不是很爱搞Linux,但是因为CTF必须要接触一些,漏洞利用方面也是因为CTF基本都是linux的pwn题目. 基本的题目分类,我认为就下面这三种,这也是常见的类型. 下面就分类来说说 0x0.栈溢出 栈溢出一般都是CTF中,PWN类别的第一题.基本思想就是覆盖栈中返回地址啦,这个谁都知道.这种题一定会有NX保护,怎么跳是问题.常见的是leak出一个函数的got表,leak方法题中一定会给出的,然后看看有没有给出libc.如果有libc就能算system()和/libc/sh的地址了,直接溢…
WEB200-2 这是swpu-ctf的一道题. <?php if(isset($_GET['user'])){ $login = @unserialize(base64_decode($_GET['user'])); if(!empty($login->pass)){ $status = $login->check_login(); if($status == 1){ $_SESSION['login'] = 1; var_dump("login by cookie!!!&q…
###0x01 AWD模式 Attack With Defence,简而言之就是你既是一个hacker,又是一个manager.比赛形式:一般就是一个ssh对应一个web服务,然后flag五分钟一轮,各队一般都有自己的初始分数,flag被拿会被拿走flag的队伍均分,主办方会对每个队伍的服务进行check,check不过就扣分,扣除的分值由服务check正常的队伍均分. ###0x02 出题思路 ####1:题目类型 1-出题人自己写的cms,为了恶心然后加个so. 2-常见或者不常见的cms.…
首先推荐这篇文章,网上有多次转载,这是我见过日期比较早的 CTF中那些脑洞大开的编码和加密 凯撒密码 flag='flag{abcdef}' c='' n=20 for i in flag: if 'a' <= i <='z': i=chr(((ord(i)-ord('a'))+n)%26+ord('a')) c+=i print c 栅栏密码 n= 5 m = "flag{0123456789abcdef}" c='' for x in range(n): for i i…
AWD 备份源码,修改账户密码,查看是否有预留后门然后删掉 修改mysql密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p 123456 password 123 MySQL 完全备份和恢复 备份某—个数据库: mysqldump -u Username -p Password 数据库名 > /root/XXX.bak 会将指定的数据库备份至roo家目录下,文件名为XXX.bak 恢复: mysql -u User…
今年参加了三起CTF比赛,属于初学者,基本除了web其他的不会,但分赛场AWD相对就没什么难度,基本都是技巧性.其中一场进入复赛了,本月底再次比赛(ctf题做的这么渣还能进也是绝了~),参照前人经验补充了一些总结下. 一.AWD介绍 AWD:Attack With Defence,即攻防对抗,比赛中每个队伍维护多台服务器(一般两三台,视小组参赛人数而定),服务器中存在多个漏洞(web层.系统层.中间件层等),利用漏洞攻击其他队伍可以进行得分,加固时间段可自行发现漏洞对服务器进行加固,避免被其他队…