Fuzz methods & tools Jan 6 2017 fuzz a few seconds read (About 40 words) 主要介绍几种主流的Fuzz方式以及对应的Fuzz工具 基于文件格式 基于覆盖率等反馈 基于特定软件 Read More
ROP - 绕过DEP VirtualProtect Jan 4 2017 vuls 2 minutes read (About 367 words) About DEP & ROP DEP-数据执行保护, 软件DEP又称为Safe SEH, 硬件DEP主要思想是将一部分内存指定为可写但不可实行, 导致最终的shellcode无法执行. 这里介绍的是当对栈溢出进行利用时, 将shellcode布置在栈区, 因为DEP的存在导致栈区的shellcode不能执行, 此时就使用ROP链来处理DEP的情况了. 环境 WinXp Sp3 开启DEP 编译器 VS2015 默认开启DEP 核心思想 核心思想就是通过一系列的系统指令, 使得执行Windows的VirtualProtect函数(也有其他的方式), 该函数的主要功能是能够改变指定内存地址的 Read More
BuTags - a chrome plugin Jan 4 2017 a minute read (About 199 words) About BuTags 元旦花了一天左右从零开始写了一个chrome插件, 写这个的主要考虑是平时在电脑关机的之前chrome中打开了一些标签, 因为是临时的, 所以全部放在书签中会比较乱. 因此想将所有的标签保存, 然后下次打开浏览器的时候恢复. 今天聊着的时候发现已经存在这类功能的插件了>_< (OneTab) 比较尴尬了, 界面功能方面都比我的好. 好吧, 还是介绍下我的这个插件的主要功能和思想吧, 包含两个功能, 保存当前Window的所有tabs, 然后不论是关机或者是重新启动浏览器, 都可以点击恢复将所有标签恢复. Read More
buffer overflow Jan 3 2017 vuls 3 minutes read (About 442 words) Stack 常见的安全机制以及相关绕过方法 security cookies 编译的时候会在运行栈RET的上面加上一个随机的4字节数值(32位系统), 该值来自于(.data节的前四个字节,并通过一定的算法计算), 在函数运行栈前面会将该值与esp进行亦或并放置在栈中, 在函数返回前会对该值进行检查. 如果该值被修改将直接异常. ** 稳定利用主要思想是检查前利用(SEH, 虚表) ** Linux -fno-stack-protector safeseh 在异常处理器被调用时, 会先检查, 若不满足条件则不会执行 检测方式(和操作系统以及编译器选项有关): 1. 先获取栈的高地址和低 Read More
内存对齐 Jan 2 2017 2 minutes read (About 265 words) 在看C++反汇编一书时,在类的一章前面介绍了结构体中变量的内存分配,会遵循一些对齐的原则,导致分配的字节数会有所差异。 那么问题是,为什么要使用内存对齐,以及遵循哪些规则。 为什么内存对齐 这和CPU有关,32位的CPU对应的是一次从内存中读取4字节,并且每次都是从4的倍数的地址开始读。 使用内存对其主要避免的是,本可以一次读取的变量需要两次读取。 假设一个4字节的int型变量,若存储在0x03 - 0x06地址的话,那么需要读取两次,才能取出这个值,先读取0x00-0x03这四个字节,然后再读取0x04-0x07这四个字节,这样会导致读取效率降低;若按照对齐原则,只需将其分配在0x04 - Read More
Usage of Windbg Dec 11 2016 4 minutes read (About 527 words) windbg 基本命令收集 CommandUsageExamplelm显示加载的modulelm vln查看附近的符号文件ln eaxdps查看符号dps eaxgu执行到当前函数结束时停下gup单步步过p p2t单步步入t t2b设置断点ba bp几个使用的命令与设置 CommandUsageCommandUsagepageheapXXXXXXXxXXXXXx windbg的x命令用户显示所有上下文中匹配指定模板的符号, 用户寻找相应的断点位置 即x 后面跟着一个正则表达式, 然后显示所有匹配的符号, 59 *代表零个或多个字符 ?代表一个字符 +d代表一个或多个字符 x还有个作用, 在函 Read More
about ActiveX Dec 11 2016 a few seconds read (About 71 words) ActiveX? 最近准备调一下ActiveX相关的溢出的洞, 先了解一下ActiveX控件的相关知识 简单说是ActiveX控件是一个集合, 一个ActiveX控件类似于一个dll, ActiveX控件用户可以开发, 也可以调用其接口使用. Read More
IE Debug Dec 10 2016 a few seconds read (About 91 words) IDA 导入符号文件 当已经有符号文件的时候, 可以直接导入 68 也可以设置系统环境变量, 来导入微软的符号文件(未成功!!!) 69 有时候IDA无法自动下载, 可以先用windbg加载, 然后导入pdb Read More
usage of git Dec 5 2016 basic 3 minutes read (About 431 words) git 基础使用 138 git 删除 139 git push到远程git服务器 140 git pull远程代码到本地 141 git 分支管理 git 分支管理基本原则, master分支仅用于实际开发环境的分支, 用于版本的管理和最后的完成版本开发的话, 使用分支develop, 因此保持两个常用分支, master和develop. 若需要调试bug等操作, 设置一个临时的分支, 用完即删除掉即可. 142 git 版本管理 一般版本是在master分支上, 对一个阶段进行版本设定 143 git 版本回退 在一些错误的过程中, 需要将版本回退 144 Read More