
二进制安全
youngseaz
这个作者很懒,什么都没留下…
展开
-
手拆ELF(三,节区头表)
节区头表节区头的数据结构为Elf32_Shdr,大小为40字节,其数据结构如下:/* Section header. */typedef struct{ Elf32_Word sh_name; /* Section name (string tbl index) */ Elf32_Word sh_type; /* Section type */ Elf32_Word sh_flags; /* Section flags */ Elf32_Addr sh_addr; /*原创 2020-10-19 23:53:59 · 745 阅读 · 0 评论 -
手拆ELF32(二,程序头表)
目录程序头表节区头表程序头表一个可执行文件或者共享目标文件的程序头表是一个数组,一个数组元素存储一个程序头表条目,每一个程序头表条目描述一个段或者其它信息,这些段或信息为程序运行做准备。一个文件段包含多个节区,程序头只有在可执行文件或者共享对象文件中有意义。程序头数据结构如下,其大小为32字节/* Program segment header. */typedef struct{ Elf32_Word p_type; /* Segment type */ Elf32_Off原创 2020-10-18 23:29:37 · 1444 阅读 · 0 评论 -
控制流保护技术
Control Transfer Terminating InstructionsENDBR64 — Terminate an Indirect Branch in 64-bit ModeOpcodeInstructionOp/En64-Bit ModeCompat/Leg ModeDescriptionF3 0F 1E FAENDBR64NPValidValidTerminate indirect branch in 64 bit mode.Instruc转载 2020-10-18 11:39:38 · 842 阅读 · 0 评论 -
安全编译选项
Linux地址空间随机化ALSR(Address Space Layout Randomization)ALSR将进程的某些内存空间地址进行随机化来增大入侵者预测目的地址的难度,从而降低漏洞被成功利用的风险。ASLR要求执行程序被加载到内存时,它其中的任意部分都是随机的。包括Stack、Heap、Libs 、mmap、Executable、Linker和VDSO(virtual dynamic shared object)Linux下ALSR是否开启取决于/proc/sys/kernel/rand原创 2020-10-03 16:14:16 · 2203 阅读 · 0 评论 -
ret2libc
retlibcret2libc是返回导向编程(ROP)的一种,在开始数据执行保护的情况下,可以利用ROP执行shellcode前置知识(栈空间与函数调用)如果要调用一个函数,如system(const char *cmd),汇编中是这样的0x56555571 <+36>: lea eax, cmd0x56555577 <+42>: push eax0x56555578 <+43>: call 0x565553e0 <system@plt&原创 2020-08-30 16:52:35 · 278 阅读 · 0 评论 -
固件分析
相关链接https://paper.seebug.org/613/#11https://www.angelic47.com/archives/97/https://www.jianshu.com/p/12d8f509169c原创 2020-08-10 21:50:53 · 410 阅读 · 0 评论 -
Windows binwalk命令配置
本文目的通过本文,你将学到如何在Windows 10配置binwalk,使得binwalk能够在cmd中以cmd命令的方式运行。binwalk安装在确保你已经安装好Python并配置好Python的环境变量之后,在cmd执行pip install binwalk命令安全binwalk配置通过配置,...原创 2020-08-08 23:07:59 · 1546 阅读 · 0 评论 -
返回导向编程(ROP)
目录ROP原理相关CTF相关连接ROP原理相关CTF例子1相关连接返回导向编程 ↩︎原创 2020-07-28 00:10:24 · 612 阅读 · 0 评论 -
UAF原理及相关一道CTF
前言通过学习UAF原理及其在CTF中的应用,通过理论是实践相结合,可以更好地掌握UAF漏洞。UAF漏洞原理#include<stdio.h>#include<stdlib.h>int main(){ char *p1, *p2; p1 = p2 = NULL; p1 = (char *)malloc(10); if (p1 == NULL) { printf("fail to malloc p1"); exit(1); } memcpy(p1, "原创 2020-07-27 22:23:22 · 2969 阅读 · 0 评论 -
二进制漏洞挖掘常用工具
常用工具checksecIDAchecksecchecksec orgchecksec githubclick for downloading checksec命令行下载wget http://www.trapkit.de/tools/checksec.shIDA原创 2020-07-26 23:07:15 · 1116 阅读 · 1 评论 -
《0day安全》之代码植入
参考《0day安全》第二版https://bbs.pediy.com/thread-217164.htm实验的源码#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;windows.h&gt;#define pass "1234567"int verify(char *passwd){原创 2019-03-02 15:14:48 · 539 阅读 · 0 评论 -
C语言格式化字符串漏洞实验
格式化字符串漏洞实验在线实验环境:格式化字符串漏洞实验文章转载自:https://github.com/shiyanlou/seedlab/blob/master/formatstring.md一、 实验描述格式化字符串漏洞是由像printf(user_input)这样的代码引起的,其中user_input是用户输入的数据,具有Set-UID root权限的这类程序在运行的时候,pri...转载 2018-10-29 21:05:15 · 1984 阅读 · 0 评论