2018年11月3日
摘要: 查看文件格式以及保护开启情况。发现为64位程序,符号被剥离,动态链接程序且题目提供给了libc。保护全开,猜想可能是fast attack加上malloc_hook利用(毕竟去年这题是这个利用,肯定先往这边想) 简单的运行程序,发现是常规的菜单类题目,功能有申请内存(alloc)、更新(update 阅读全文
posted @ 2018-11-03 17:21 行者如风 阅读(677) 评论(0) 推荐(0) 编辑
2018年10月31日
摘要: 查询题目保护开启,发现只开了NX,未开启RELRO和PIE,思路可以从修改got表展开。 ida装载分析程序执行流程,main函数发现是一个常规的菜单类题目,推测为堆相关题目。 Malloc函数。分配最大不超过4096,且如果大小超过112就直接放入堆区,否则先存入栈区,再拷贝到堆区。存在结构体保存 阅读全文
posted @ 2018-10-31 20:56 行者如风 阅读(631) 评论(1) 推荐(0) 编辑
2018年10月24日
摘要: 查看文件类型和保护开启情况,发现全保护开启,一般为堆溢出,无法改写got表,思路一般往malloc_hook转变。 运行程序观察执行大概流程。经典的菜单题目。 Allocate操作,输入分配字节大小以及标记。 Fill操作,输入分配的块号以及分配大小和填充内容。 Free操作,输入删除的块号进行删除 阅读全文
posted @ 2018-10-24 17:43 行者如风 阅读(598) 评论(0) 推荐(0) 编辑
2018年10月23日
摘要: 第一题--BITSCTF 2017-Command_Line 查看文件格式以及开启的保护措施,此处全保护均未开启(默认开启ASLR),且为64位ELF。 尝试运行,发现打印出一处地址(基本不用考虑ASLR了),猜测为栈某处地址 放入ida观察逻辑,发现的确打印了栈上的一个地址,可以直接用。此处可以顺 阅读全文
posted @ 2018-10-23 21:04 行者如风 阅读(2664) 评论(3) 推荐(0) 编辑
2018年9月22日
摘要: 本系列为i春秋论坛上Tangerine@SAINTSEC大神所写的linux pwn入门系列相关习题的分析与解答。 原教程系列地址:https://bbs.ichunqiu.com/forum.php?mod=collection&action=view&ctid=157 1、csaw ctf 20 阅读全文
posted @ 2018-09-22 15:46 行者如风 阅读(8231) 评论(1) 推荐(0) 编辑
2018年9月20日
摘要: 问题:在做pwn题的过程中,我们经常会遇到题目提供libc,但是本地调试的时候加载的是本地libc。 解决方法: 方法1: 可以用添加环境变量的方法,如下: export LD_LIBRARY_PATH=`pwd` #当前目录为加载目录export LD_PRELOAD=你的libc #加载本地pw 阅读全文
posted @ 2018-09-20 18:49 行者如风 阅读(4114) 评论(0) 推荐(0) 编辑
2018年7月7日
摘要: 最近看了linux堆管理的文章,这篇博文是对文章的提炼和总结。 入门二进制很难啊! Linux堆管理策略 1、总述 在主线程中调用malloc之后会发现系统给程序分配了堆,且恰好在数据段之上。这说明它是通过brk系统调用实现。并且分配的地址空间大小远大于申请的大小,我们把它称之为main arena 阅读全文
posted @ 2018-07-07 16:27 行者如风 阅读(932) 评论(0) 推荐(0) 编辑
2018年6月30日
摘要: Python中常量的概念其实是对象的概念(所谓在Python中,万物皆对象),所有的赋值操作都是变量对操作数对象的引用。在Python中,每一个变量都有一个独一无二的id,可以称之为变量地址,用id()方法查看(如图1)。其中右边的字符串可以看作为一个字符串对象,而左边为这个字符串对象的引用。我们现 阅读全文
posted @ 2018-06-30 20:28 行者如风 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 1、字符串类型 Python中的字符串可以用一对” ”、一对’ ’或者一对””” “””来实现(如图1),其中要注意的是首尾不能不一致,例如’ ”或者” ‘将抛出语法异常(如图2)。对于三引号来说可以在其内定义多行的字符串(前面单双引号定义的都是单行字符串),并且在其内可以随意使用单引号和双引号而不 阅读全文
posted @ 2018-06-30 19:56 行者如风 阅读(353) 评论(0) 推荐(0) 编辑
2018年1月23日
摘要: 导入表 导入表是为实现代码重用而设置的。通过分析导入表数据,可以获得诸如PE文件的指令调用了多少外来的函数,以及这些外来函数都存在于哪些动态链接库里等信息。Windows加载器在运行PE时会将导入表中声明的动态链接库一并加载到进程的地址空间,并修正指令代码中调用的函数地址。数据目录中一共有四种类型的 阅读全文
posted @ 2018-01-23 17:36 行者如风 阅读(519) 评论(0) 推荐(0) 编辑