CTF
Vccxx
还是要学习一个
展开
-
黑龙江省网络安全技能大赛 初赛 RE300 writeup ——Lilac 逆向组
一个exe文件,下载地址:https://yunpan.cn/cvgXYFXCpf39p 访问密码 edfd 这个pe一打开是这样的: 与常规逆向不同的是,此题没有输入的地方,也没有提交flag的地方 注意到上面有个菜单栏,然而里面并没有什么有用的东西 于是程序丢到ida里面,经验让我搜索了一下程序中的字符串,找到了有趣的东西: 跟过去,到了一个函数里,这个函数是被混淆的,混淆点原创 2016-10-03 18:58:45 · 2364 阅读 · 0 评论 -
jarvisoj pwn level1 ——记第一次shellcode的编写
jarvisoj(https://www.jarvisoj.com/challenges )pwn部分 level1 解题过程:在队友的指导下写了人生第一个shellcode感觉很刺激,过程中还是学到了很多东西,记录一下这个程序流程很简单,用ida分析就两个主要的函数:main:int __cdecl main(int argc, const char **argv, const char **en原创 2017-03-19 10:12:50 · 3650 阅读 · 0 评论 -
xdctf-pwn200
XDCTF (哪一年的忘了)中的一道pwn题题目地址http://pan.baidu.com/s/1hszHtwo解题思路:缓冲区溢出->泄露ebp->覆盖got表->执行shellcode首先用ida分析这题的反汇编:这里是一个关键的缓冲区溢出点,这里虽然v2的长度和读入的最大长度一致,但是我们知道对于printf函数,如果后面的地址中(这里是v2的栈地址)的内容没有”/x00”这样的结束符,就会原创 2017-04-08 18:09:04 · 1358 阅读 · 0 评论 -
pwn100 ssp
ssp–利用栈溢出保护来泄露内存这payload贼短。。题目链接:sspStack-smashing Protection (SSP,又名 ProPolice),是在函数的栈底插入一个随机数,这个随机数在函数调用结束后会被检测,如果与预设的不同,就会直接退出程序并打印如下的错误提示: *** stack smashing detected ***: ./pwn100 terminated原创 2017-04-08 19:34:10 · 1126 阅读 · 0 评论 -
pwn --rop
rop练习—Very Secure Systemrop 真爽。。题目链接:http://pan.baidu.com/s/1eSd0XTg 注:.bak是原题,原题有个过10s自动退出程序的设置,不好调试,我用ida打了个patch,就是另一个文件,两个文件只有这一个区别漏洞分析:这个程序是静态加载的,所以got表没有用,顺带dynelf也不行,也没提供libc。但是有一个函数可以溢出,但是只溢出了原创 2017-04-08 23:51:37 · 2039 阅读 · 0 评论 -
PlaidCTF CTF 2015 pwn160
PlaidCTF CTF 2015 pwn160格式化字符串漏洞之前指针没有理解好,所以理解这题的攻击花了不少功夫,记录一下思路:程序中的sprintf第三个参数format由我们控制,存在明显的格式化字符串漏洞。这个程序给了一个全局buf,大小为1024字节,可以植入shellcode,主要的难点是如何将某个函数的返回地址(脚本中写的是make_response返回地址)改成buf中的地址。这里用原创 2017-04-14 21:44:19 · 815 阅读 · 0 评论 -
HITCTF PWN300--dynelf
第一次用Dynelf,脚本调了一下午。。hitctf pwn300题目链接:http://pan.baidu.com/s/1eSCCOE2漏洞分析:三个write之前的一个函数调用了read来读入字符,而这里存在明显的缓冲区溢出,可以覆盖main函数的栈地址,这个题没给libc,got表里没有system之类的函数,于是考虑用dynelf。攻击脚本:from pwn import *io = pr原创 2017-04-08 18:26:11 · 1051 阅读 · 1 评论 -
二进制字符文件转二进制的3种姿势
今天学弟问了一个CTF题,是关于二进制字符文件转二进制文件的问题。 自己用了一个struct库解出来了,代码是这样的:import structf = open("num.txt","r")fout = open("res.txt","ab+")data = f.read()for i in range(0,len(data),16): try: ds = stru原创 2017-07-06 00:24:26 · 2292 阅读 · 0 评论