
ctf_pwn
影子019
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BUUCTF pwn题exp整合
0x01 ripfrom pwn import*p = remote('node3.buuoj.cn',27511)payload = 'a'*23+p64(0x401198)+p64(0x401186)p.sendline(payload)p.interactive() 0x02 warmup_csaw_2016from pwn import *#p = proces...原创 2020-02-29 09:26:30 · 730 阅读 · 0 评论 -
BUUCTF jarvisoj exp整合
0x01 jarvisoj_level0 简单的地址改写from pwn import *p = remote('node3.buuoj.cn', 26882)#p = process('./level0')shell_addr = 0x0000000000400596p.sendline('a'*0x88+p64(shell_addr))p.interactive() ...原创 2020-02-24 11:00:56 · 653 阅读 · 0 评论 -
BUUCTF pwn ez_pz_hackover_2016
0x01 文件分析 没有不可执行栈和段上的读写保护,可以做到很多事情。 0x02 运行 输入name并且回显,上面还有一个地址。 0x03 IDA 主要的漏洞点在这个函数内部的,chall栈的大小很大,足够写入shellcode,之后的vuln函数会将s的数据复制到vuln的栈上面,但是复制的数据量远远大于栈的长度,会造成栈溢出。 并且此函数的栈的地址直接打印出来,不用再去...原创 2020-02-21 11:48:39 · 2476 阅读 · 0 评论 -
BUUCTF pwn pwn2_sctf_2016
0x01 分析 0x02 运行 程序读入一个长度,然后按照长度读入后面输入的data并回显。 0x03 IDA 数据长度被限制为32,无法溢出,接着查看get_n函数。 接受a2个长度的字符串并放到vuln函数的缓冲区内部,但是a2传入的值类型是unsigned int,而前面判断长度的类型是int,可以规避长度限制。 0x04 思路 输入负数长度,绕过长度检查,执行r...原创 2020-02-18 14:19:35 · 2651 阅读 · 0 评论 -
BUUCTF pwn babyfengshui_33c3_2016(简单堆)
0x01 文件分析 0x02 运行 程序提供了几个简单的功能,增删改查都有。运行的时候程序有定时机制,可以用IDA的patch功能修改二进制指令,消除定时。 0x03 静态分析主函数:void __cdecl __noreturn main(){ char v0; // [esp+3h] [ebp-15h] int v1; // [esp+4h] [ebp-14h] ...原创 2020-02-17 16:48:55 · 2148 阅读 · 0 评论 -
BUUCTF pwn [HarekazeCTF2019]baby_rop2
0x01 文件分析 0x02 运行 和babyrop一样。 0x03 IDA 程序流程和babyrop差不多,但是这个里面没有提供可用的gadget,需要自己完成rop。 0x04 思路 没有默认的gadget,需要自己构建,需要利用栈溢出和printf函数泄露libc版本和libc基址,再构建rop。需要注意的是printf函数需要用到的参数,第一个参数需要为格式化字符...原创 2020-02-17 15:40:25 · 1787 阅读 · 4 评论 -
BUUCTF pwn [HarekazeCTF2019]baby_rop
0x01 文件分析 0x02 运行 一组回显 0x03 IDA 程序之中存在system函数,通过搜索字符串,还能得到’/bin/sh’字符串,一个简单的rop。 0x04 思路 简单rop,利用万能的gadget,pop rdi ret传入字符串并调用system,得到shell。此题flag的位置在/home/babyrop内,可以通过find -name flag...原创 2020-02-13 14:09:40 · 2716 阅读 · 0 评论 -
BUUCTF pwn ciscn_2019_s_3(SROP)
0x01 文件分析 0x02 运行 有一个回显,并且还有多余的字符显示,接着看代码分析一下。 0x03 IDA源码 由后面的函数可以看出,这个程序使用的系统调用,并且vuln里面存在栈溢出。 在程序之中的gadgets存在着两个为rax赋值的gadget,15的系统号是rt_sigreturn,3b的系统调用是execve,利用这两个可以执行系统调用得到shell。 ex...原创 2020-02-13 11:04:19 · 1699 阅读 · 0 评论 -
BUUCTF pwn ciscn_2019_n_8
0x01 文件分析 文件很简单,32位,保护都开得差不多。 0x02 运行 输入并且回显。 0x03 IDA源码分析int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [esp-14h] [ebp-20h] int v5; // [esp-10h] [ebp-1Ch]...原创 2020-02-03 10:44:54 · 2734 阅读 · 0 评论 -
BUUCTF 第五空间2019 pwn5(格式化字符串)
0x01 文件分析32位elf无PIE 0x02 运行 运行文件之后,出现两处输入,一个name和一个passwd,并且name的输入有回显,则有可能是栈漏洞和格式化字符串。 0x03 IDA查看IDA F5反汇编之后的代码:int __cdecl main(int a1){ unsigned int v1; // eax int fd; // ST14_4 ...原创 2020-02-02 14:20:19 · 1100 阅读 · 0 评论 -
BUUCTF ciscn_2019_c_1(rop_x64,泄露libc)
由于Ubuntu18的环境很迷,这个题目只在kali上用本地libc完成过,脚本也是kali环境的0x1 检查文件64位elf无canary无PIE 0x02 流程分析根据运行的流程,这个程序主要有两个功能,加密功能可以使用,但解密功能没办法使用,并且能够输入的地方就两个,一个选择程序,数字输入,第二个输入加密文本,字符串类型,之后的静态分析主要关注这两个地方。 0x02...原创 2019-11-26 23:07:12 · 6050 阅读 · 14 评论 -
攻防世界-pwn pwn-100(ROP)
此题是LCTF 2016年的pwn100参考文章:https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=42933&ctid=1570x01 文件分析64位elf无stack无PIE 0x02 运行分析 看起来像一个无限循环,不断接收输入。 0x03 静态分析main:sub_40068E:...原创 2019-11-05 21:39:39 · 3113 阅读 · 0 评论 -
攻防世界-pwn stack2(ROP)
0x01 文件分析32位elf无PIE 0x02 运行分析 程序的功能主要有四个,在输入前面两个初始化的变量值之后,就可以看到后面的几个功能。 0x03 IDA分析//IDA 静态分析得出的代码:int __cdecl main(int argc, const char **argv, const char **envp){ int v3; // eax uns...原创 2019-10-28 21:21:14 · 2055 阅读 · 4 评论 -
攻防世界-pwn forgot(栈内变量覆盖)
0x01 文件检查32位elf无栈保护无地址随机化 0x02 程序运行分析 发现有两个输入的地方,并且第一个地方有回显。 0x03 IDA分析 如图,阅读程序结构后,发现第二个输入点(41行)可以进行栈溢出,第88行是调用的栈里面的函数地址,所以,如果将栈里面的*(&v3 + --v14)这个地址的内容变成我们需要的函数地址,就可以了。 搜索字符串,发...原创 2019-10-17 14:14:12 · 832 阅读 · 2 评论 -
攻防世界-pwn CGfsb (格式化字符串)
0x01拿到题目之后首先分析文件得到信息:32bit ELF可执行文件未开启PIE(即静态反汇编得地址可以直接使用)0x02 执行文件执行文件之后发现程序接收两个输入并将其原样输出 0x03 利用IDA反汇编发现flag,需要将pwnme的值改为8才能拿到flag通过查找发现pwnme在bss段,并且在程序之中用到了printf,可以考虑用格式化串漏洞将...原创 2019-08-05 23:44:24 · 1673 阅读 · 0 评论 -
攻防世界-pwn when_did_you_born(栈覆盖)
0x01拿到文件之后,先检查文件的基本信息文件信息64bit elf可执行文件无PIE保护 0x02执行文件文件之中有两个输入,第一个输入有回显 0x03 IDA静态分析可以看出获取flag需要用到v5的值,首先需要v5不等于1926,进入else这个块之中,然后又需要v5等于1926才能获取flag,就产生了矛盾。结合程序有两个输入,可以考...原创 2019-08-10 21:29:15 · 1493 阅读 · 0 评论 -
攻防世界-pwn hello_pwn(地址溢出)
0x01 检查文件64位elf 可执行文件无栈保护无PIE 0x02 运行程序程序只有一个输入 0x03 IDA静态分析主函数:sub_400686()可以发现只要dword_60106C == 1853186401就可以拿到flag 继续分析发现程序输入的值存储在unk_601068之中,而dword_60106C就在unk...原创 2019-08-10 22:01:07 · 822 阅读 · 0 评论 -
CTF中pwn的入门指南
CTF中pwn的入门指南pwn简介:CTF中的pwn指的是通过通过程序本身的漏洞,编写利用脚本破解程序拿到主机的权限,这就需要对程序进行分析,了解操作系统的特性和相关漏洞,是是一个难度比较大的分支。 接下来介绍相关的学习思路(自己总结的,当作参考)0x01 基础知识准备 pwn相对于web,更需要专业的技能和知识,最主要的是要学会如何分析程序,这就需要有足够的准备c语言汇编语言...原创 2019-09-13 13:50:31 · 31703 阅读 · 3 评论 -
攻防世界-pwn dice_game(栈内变量覆盖)
0x01 检查文件 下载附件之后获得两个文件,一个可执行文件和一个libc,初步理解要使用libc。64位elf无栈保护动态链接 0x02 程序分析 根据程序运行分析,程序应该是要求猜数字,连续答对50轮可获得flag。 0x03 IDA结构分析 从里面分析,可以看到程序的结构,while循环里面是猜数字的流程,一共50轮,并可以注意到18行设置了随机数的种子。...原创 2019-10-09 19:31:25 · 732 阅读 · 1 评论 -
kali安装python3-pwntools
不要直接pip3安装错误方法:root@localhost:~# pip3 install pwntools //安装成功root@localhost:~# python3>>> import pwnTraceback (most recent call last): File "<stdin>", line 1, in <module> ...原创 2019-05-30 14:18:07 · 7133 阅读 · 1 评论