mma ctf 1st && csaw 2015】的更多相关文章

(很久以前做的,现在发一下)最近做了两个CTF,水平太渣,做了没几道题,挑几个自己做的记录一下. mma ctf 1st 之 rps: from socket import * s = socket(AF_INET, SOCK_STREAM) s.connect(('milkyway.chal.mmactf.link',1641)) #s.connect(('127.0.0.1',10001)) print s.recv(1024) payload = 'a'*48 + '\x03\x00\x0…
洒家近期参加了 Tokyo Westerns / MMA CTF 2nd 2016(TWCTF) 比赛,不得不说国际赛的玩法比国内赛更有玩头,有的题给洒家一种一看就知道怎么做,但是做出来还需要洒家拍一下脑瓜的感觉.总之很多题还是很有趣的,适合研究学习一番. 以下是洒家做出来的几道小题,类型仅限Web和Misc,给各位看官参考. 关于: T3JpZ2luYWwgQXJ0aWNsZTogd3d3LmNuYmxvZ3MuY29tL2dvMmJlZC8 Global Page Web Warmup We…
目录 MMA CTF 2nd 2016-greeting 总结 题目分析 checksec 函数分析 漏洞点 知识点 利用思路 EXP 完整Exp MMA CTF 2nd 2016-greeting 总结 本题主要为printf格式化字符串漏洞,最好的方式是手写fmt payload,然后有一个新的知识点: pwntools的fmtstr_payload不是特别好用,特别是只想写低字节的时候,还是得手动写fmt_payload,抽个时间自己写个格式化payload生成函数吧.也不是第一次在这儿折…
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/amd64下的Linux Pwn常见的Pwn手法,如栈,堆,整数溢出,格式化字符串,条件竞争等进行介绍,所有环境都会封装在Docker镜像当中,并提供调试用的教学程序,来自历年赛事的原题和带有注释的python脚本. 课程回顾>> Linux Pwn入门教程第一章:环境配置 Linux Pwn入门教程…
鸡冻人心的2016,微软高产年. build 2016后 各种干货层出不穷. 1 Win10 集成了bash  ,实现了纳德拉的成诺,Microsoft Love Linux!!! 2 跨平台  ,收购Xamarin ..还给开源了 3 Sqlserver有了Linux的版本............... 4 ASP.NET 5迎来第一个稳定版本,跨平台.在Windows Linux Mac OsX 中都能玩了......... 光说不练假把式,先上图一枚.... ---------------…
作者:Tangerine@SAINTSEC 0x00 printf函数中的漏洞 printf函数族是一个在C编程中比较常用的函数族.通常来说,我们会使用printf([格式化字符串],参数)的形式来进行调用,例如 char s[20] = “Hello world!\n”; printf(“%s”, s); 然而,有时候为了省事也会写成 char s[20] = “Hello world!\n”; printf(s); 事实上,这是一种非常危险的写法.由于printf函数族的设计缺陷,当其第一个…
本文作者:Tangerine@SAINTSEC 原文来自:https://bbs.ichunqiu.com/thread-42943-1-1.html 0×00 printf函数中的漏洞printf函数族是一个在C编程中比较常用的函数族.通常来说,我们会使用printf([格式化字符串],参数)的形式来进行调用,例如 然而,有时候为了省事也会写成 事实上,这是一种非常危险的写法.由于printf函数族的设计缺陷,当其第一个参数可被控制时,攻击者将有机会对任意内存地址进行读写操作. 0×01 利用…
原题 Linked lists are great! They let you chain pieces of data together. nc pwn.chal.csaw.io 9005 链接:https://ctftime.org/task/6644 附件:(下面那个打不开的图片就是,请将文件下载下来改名为shellpointcode) 题解 首先看下文件的基本信息: $ file shellpointcode shellpointcode: ELF 64-bit LSB shared o…
官方题解: 官方代码: Code-KARTE: #include <cstdio> #include <iostream> #include <cstring> using namespace std; const int MAXB = 5; const int MAXN = 20; bool bio[MAXB][MAXN]; int getColor(char chr) { if (chr == 'P') return 0; if (chr == 'K') retur…
目录 程序基本信息 程序漏洞 整体思路 exp脚本 内容参考 程序基本信息 64位动态链接程序,开启了栈溢出和数据段不可执行保护 程序漏洞 read函数很明显的栈溢出漏洞 整体思路 由于题目给了libc,我们可以使用one_gadget获得gadget在libc中的偏移,通过泄露其他函数库的偏移计算gadget在内存中的位置.由于程序中有栈溢出保护,我们可以利用功能2,功能2的作用是puts打印我们输入的字符串,我们可以利用功能2将canary泄露出来,这样我们就可以进行栈溢出了,后面的步骤就简…