09 2019 档案
摘要:AFL——支持源码插桩的代码覆盖引导的Fuzzer,绝对是fuzzer领域的一大里程碑,虽然它也支持基于QEMU的闭源程序,但效果不好,且容易出错,由它衍生出来非常多afl分支版本,借助它已经被挖出非常多的漏洞,但它的变异策略其实有待提高。 http://lcamtuf.coredump.cx/af
阅读全文
摘要:from angr import * import claripy #装载一个项目,即进程不加载Lib p = Project("./Your_Process",auto_load_libs=False) #创建一个SimState对象,即程序状态 state=p.factory.entry_state() #创建一个100*8(bit)的符号argv1 argv1 = clarip...
阅读全文
摘要:https://arabelatso.github.io/2018/06/14/Z3%20API%20in%20Python/
阅读全文
摘要:/* This file contains definitions used by the Hex-Rays decompiler output. It has type definitions and convenience macros to make the output more readable. Copyright (c) 2007-2011 Hex-Rays */ #if defin
阅读全文
摘要:angr是什么 angr是一个多架构的二进制分析平台,具备对二进制文件的动态符号执行能力(例如Mayhem,KLEE等)和多种静态分析能力。 大概看来,要做到这些必须要克服一些问题: 装载二进制文件到到分析平台 转换二进制文件为中间语言(intermediate representation)(IR
阅读全文
摘要:NX:-z execstack / -z noexecstack (关闭 / 开启) 不让执行栈上的数据,于是JMP ESP就不能用了Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全
阅读全文
摘要:开始 import angr #包含angr库 import monkeyhex #是输出结果为16进制 proj = angr.Project('your_binary') #加载二进制 接口-基本属性(ARch) proj.arch ##输出CPU体系结构 proj.entry ##程序入口地址
阅读全文
摘要:PLT&GOT 程序运行前 编译完成后 GOT[0]=.dynamic段地址GOT[1]=link_map数据结构地址GOT[2]=_dl_runtime_resolve() 注:GOT[1],GOT[2]在程序装载是被动态链接器装载。 函数第一次调用 之后调用函数
阅读全文
摘要:4种ELF文件类型 ELF文件构成 两种视图 section和segment的区别: section称为节,是指在汇编源码中经由关键字section或segment修饰、逻辑划分的指令或数据区域。 segment称为段,是根据目标文件中属性相同的多个section合并后的section集合,这个集合
阅读全文
摘要:总体思想:爆破buf长度 爆破canary find stop_gadgets find brop_gadget find puts()/write() 泄露函数的got地址得到libc 编写ROP 将 socket 输出重定向到输入输出 寻找 “/bin/sh” 的地址。一般来说,最好是找到一块可
阅读全文
摘要:__libc_csu_init _init _start call_gmon_start deregister_tm_clones register_tm_clones __do_global_dtors_aux frame_dummy __libc_csu_init __libc_csu_fini
阅读全文

浙公网安备 33010602011771号