自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

至臻求学,胸怀云月

道阻且长,未来可期

原创 二进制学习基础文章整理(后续一直更新)

二进制、栈溢出入门笔记整理 以下是我入门二进制的一些笔记整理链接,特此整理出来,方便自己查阅,也方便读者阅读。 必备知识 《linux程序的常用保护机制》 《PLT表和GOT表学习》 《ELF文件格式学习》 《动态链接的延迟绑定》 《pwntools使用教程》 《ctf wiki pwn(入门实...

2020-03-01 10:53:40

阅读数 2927

评论数 4

原创 基于数据科学的恶意软件分析(五)
原力计划

文章目录系列文章目录回顾本文主旨通过特征提取对样本进行比较使用jaccard系数量化相似性使用相似性矩阵评价恶意软件代码相似性估计方法构建相似图环境搭建代码编写效果图扩展相似性比较构建持续的恶意软件相似性搜索系统限制 系列文章目录 《基于数据科学的恶意软件分析(一)》:通过四种方法静态分析恶意软...

2020-04-08 20:20:52

阅读数 62

评论数 4

原创 科恩论文阅读:Semantic-Aware Neural Networks for Binary Code Similarity Detection
原力计划

Order Matters: Semantic-Aware Neural Networks for Binary Code Similarity Detection //基于语义感知神经网络的二进制代码相似性检测 文章目录Order Matters: Semantic-Aware Neural N...

2020-03-31 09:56:45

阅读数 48

评论数 0

原创 IDApython学习笔记(一)
原力计划

文章目录IDApython 简介安装测试背景基础 IDApython 简介 安装 需提前安装python2.7 ida pro7.0 百度网盘链接 链接:https://pan.baidu.com/s/1XQX1w8QgFGQMef6jSaCnBQ 提取码:xe1t 可直接下载使用,无需配置 测试...

2020-03-29 10:49:08

阅读数 98

评论数 0

原创 latex语法学习(二)

文档和语言的结构 如果排版风格反映了内容的逻辑和语义结构,读者就能看见和感觉到文章的这种脉络。 在latex中段落是最重要的文档单位,我们之所以称之为“文档单位”,因为段落是反映一个连贯思想或观点的排版风格形式。 断行和分页 通常每一段的第一行有缩进,在两段之间没有额外的间隔。 在特殊情况下,有必...

2020-03-29 10:41:31

阅读数 59

评论数 0

原创 基于数据科学的恶意软件分析(四)
原力计划

文章目录系列文章目录本文主旨分析windows程序的必备知识恶意代码功能下载器和启动器后门登陆凭证窃取存活机制提权隐藏踪迹——用户态的Rootkit环境配置预备知识节点和边二分网络网络可视化使用NetworkX构建网络使用GraphViz可视化进阶操作添加属性GraphViz使用参数调整网络构建恶...

2020-03-23 13:28:12

阅读数 107

评论数 0

原创 基于数据科学的恶意软件分析(三)
原力计划

系列文章目录 《基于数据科学的恶意软件分析(一)》:通过四种方法静态分析恶意软件; 《基于数据科学的恶意软件分析(二)》:提供x86反汇编基本原理及实践 《基于数据科学的恶意软件分析(三)》:通过动态运行恶意软件来解析其功能 《基于数据科学的恶意软件分析(四)》:利用恶意软件网络识别攻击互动 《...

2020-03-22 12:37:10

阅读数 736

评论数 3

原创 基于数据科学的恶意软件分析(二)
原力计划

系列文章目录 《基于数据科学的恶意软件分析(一)》:通过四种方法静态分析恶意软件; 《基于数据科学的恶意软件分析(二)》:提供x86反汇编基础知识 《基于数据科学的恶意软件分析(三)》:通过动态运行恶意软件来解析其功能 《基于数据科学的恶意软件分析(四)》:利用恶意软件网络识别攻击互动 《基于数...

2020-03-20 11:46:27

阅读数 830

评论数 1

原创 基于数据科学的恶意软件分析(一)
原力计划

本文提供四种静态分析恶意软件的方法 环境及工具安装 Ubuntu16 python 2 strings(系统自带) icountils(参照下面命令安装) pefile(python 库) capstone(python 库)(线性反汇编库) pip2 install pefile pip2 ...

2020-03-18 19:52:10

阅读数 722

评论数 5

原创 latex语法学习(一)基本知识

安装 Texlive 2019 TeX studio 空白距离 tex源码中的空白距离无论多大都会等同于一个空白字符,每行开始的空白字符将会忽略,而单个的回车符被视为一个空格。 空行结束段落,多个空行的作用和一个空行作用相同。 特殊字符 以下这些字符为LATEX的保留字符,他们在latex...

2020-03-09 21:43:57

阅读数 175

评论数 0

原创 windows黑客编程系列(一):运行单一实例

windows黑客编程系列一 由于课题需要,不得不转行windows PE文件的研究,需要接触windows黑客编程。 新建windows编程系列笔记,待课题结束,回归ELF。 使用codeblocks新建一个win32 GUI程序 打开codeblocks -> create a new ...

2020-03-09 12:08:07

阅读数 2433

评论数 2

转载 动态链接的延迟绑定

本文转自公众号平凡路上,原文链接 原理 针对动态链接会减速程序运行速度的现状,操作系统实现了延迟绑定(Lazy Binding)的技术:函数在第一次被调用时才对函数进行绑定。通过延迟绑定大大加快了程序的启动速度。 而ELF则使用了PLT(Procedure Linkage Table,过程链接表...

2020-03-02 19:35:21

阅读数 264

评论数 0

原创 花式栈溢出技巧之stack smash

原理 在程序添加了canary保护后,如果我们读取的buffer覆盖了对应的值时,程序就会报错,而我们一般并不会关心报错信息。 但stack smash技巧则是利用打印这一信息的程序得到我们想要的内容。 这是因为程序在启动canary保护之后,如果发现canary被修改的话,程序就会执行__st...

2020-03-01 18:29:51

阅读数 375

评论数 0

原创 花式栈溢出技巧之frame faking

frame faking 构造一个虚假的栈帧来控制程序的执行流 原理 之前所讲的栈溢出不外乎两种方式: 控制程序EIP 控制程序EBP 其最终都是控制程序的执行流。在frame faking中,我们所利用的技巧辨是同时控制EBP和EIP,这样我们在控制程序执行流的同时,也改变程序栈帧的位置。 ...

2020-02-29 19:25:36

阅读数 1492

评论数 3

原创 ELF文件格式学习

ELF文件 ELF文件格式最前部ELF文件头,包含了整个文件的基本属性,比如ELF版本,目标机器型号,程序入口地址等。其中ELF文件与段有关的重要结构就是段表。 ELF文件格式 可重定向文件:包含代码和适当的数据,用来和其他的目标文件一起来创建一个可执行性文件或者是一个共享目标文件 可执行文件:...

2020-02-28 14:07:33

阅读数 328

评论数 1

原创 使用阿里云服务器搭建一道BROP的pwn题

搭建题目环境 题目:HCTF2016 brop C代码如下: #include <stdio.h> #include <unistd.h> #include <string.h> int i; int check(); int main(void) { ...

2020-02-26 11:37:21

阅读数 323

评论数 0

原创 中级ROP之BROP

Blind ROP 基本介绍 于2014年提出,论文题目名为Hacking Blind,BROP是指在没有对应应用程序的源代码或者二进制文件的情况下,对程序进行攻击,劫持程序的执行流。 攻击条件 源程序必须存在栈溢出漏洞,以便于攻击者可以控制程序流程。 服务器端的进程在崩溃之后会重新启动,并且重...

2020-02-25 12:23:30

阅读数 1261

评论数 2

原创 中级ROP之ret2reg

ret2reg 原理 查看栈溢出返回时哪个寄存器指向缓冲区空间。 查找对应的call 寄存器或者jmp 寄存器指令,将EIP设置为该指令地址。 将寄存器所指向的空间上注入shellcode(确保该空间是可以执行的,通常是栈上的) 利用思路 分析和调试汇编,查看溢出函数返回时哪个寄存器指向缓冲...

2020-02-23 19:01:51

阅读数 1155

评论数 2

原创 中级ROP之ret2csu

ret2csu 原理 在64位程序中,函数的前6个参数是通过寄存器传递的,但是大多数时候,我们很难找到每一个寄存器对应的gadgets。这时候,我们可以利用x64下的__libc_csu_init中的gadgets,如例二情况。 这个函数是用来对libc进行初始化操作的,而一般的程序都会调用li...

2020-02-22 18:52:05

阅读数 2371

评论数 4

原创 Bugku pwn5 WP

下载地址 url checksec [*] '/mnt/hgfs/ubuntu_share/pwn/bugku/human' Arch: amd64-64-little RELRO: Partial RELRO Stack: No c...

2020-02-19 13:02:20

阅读数 297

评论数 0

原创 Bugku pwn4 WP

下载地址 url checksec [*] '/mnt/hgfs/ubuntu_share/pwn/wiki/pwn4' Arch: amd64-64-little RELRO: Partial RELRO Stack: No can...

2020-02-18 21:39:47

阅读数 233

评论数 0

原创 花式栈溢出技巧之stack pivoting

原理 正如它描述的,该技巧就是劫持栈指针指向攻击者所能控制的内存处,然后在相应位置进行ROP。一般来说,我们可能在下述情况使用劫持栈指针。 可以控制栈溢出的字节数较少,难以构造较长的ROP链。 开启了PIE保护,栈地址未知,我们可以将栈劫持到已知的区域。 其他漏洞难以利用,需要进行转换,比如将栈...

2020-02-18 12:04:27

阅读数 259

评论数 1

原创 SUS2019迎新赛ret2moonWP

下载地址 https://pan.baidu.com/s/1fa2D8ivzYiE9JPVyL3wgXA 提取码:dzyu 注:不知道什么时候失效 checksec+IDA [*] '/mnt/hgfs/ubuntu_share/pwn/wiki/ret2moon' ...

2020-02-16 13:12:48

阅读数 242

评论数 1

原创 基本ROP之ret2libc3

ret2libc思路 ret2libc就是控制函数的执行libc中的函数,通常是返回至某个函数的 plt 处或者函数的具体位置 (即函数对应的 got 表项的内容)。一般情况下,我们会选择执行 system("/bin/sh"),因此我们通常需要找到 system 函数的地址。...

2020-02-15 21:54:20

阅读数 367

评论数 2

原创 基本ROP之ret2libc2

原理 ret2libc即控制函数执行libc中的函数,通常是返回至某个函数plt表处或者函数的具体位置(即函数对应的got表项的内容),一般情况下我们选择执行system("/bin/sh"),故而我们需要知道system函数的地址 过程 下载地址:url checksec ...

2020-02-14 23:04:56

阅读数 1301

评论数 2

原创 pwn学习(格式化字符串漏洞)

格式化字符串函数介绍 格式化字符串函数可以接受可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数,通俗来说。格式化字符串函数就是将计算机内存中表示的数据转化为我们人类可读的字符串格式。一般来说,格式化字符串在利用时分为三个部分。 格式化字符串函数 格式化字符串 后续参数(可选...

2020-02-05 13:55:56

阅读数 236

评论数 2

转载 kaggle下载数据集步骤

一.前言 在下载之余利用间隙时间来分享Microsoft Malware Classification Challenge (BIG 2015)数据集的获取。先前笔者在搜索引擎想得到获取方式的时候,几乎没有教程是特定于这个数据集的,于是想记录这个过程。 二.准备 1.安装kaggle库 ...

2020-02-01 18:13:13

阅读数 1909

评论数 8

转载 PLT表和GOT表学习

GOT表和PLT表在程序中的作用非常巨大,接下来的讲解希望大家可以仔细看看 我们用一个非常简单的例子来讲解,代码如下:图1 然后我们编译 我们直接 gdb./a.out 来进行反编译处理,然后通过disas main查看main函数中的反编译代码如下: 图3 我们可以观察到 ge...

2020-02-01 18:06:34

阅读数 176

评论数 0

原创 pwn学习(整数溢出)

整数溢出 ctf-wiki基础知识 请先浏览上述链接 类型 字节 范围 short int 2byte 0~0x7fff 0x8000~0xffff unsigned short int 2byte 0~0xffff int 4byte 0~0x7fffffff 0x800...

2020-01-31 14:32:59

阅读数 234

评论数 0

原创 Canary学习(爆破Canary)

one-by-one 爆破Canary原理 对于Canary,虽然每次进程重启后Canary不同,但是同一个进程中的不同线程的Cannary是相同的,并且通过fork函数创建的子进程中的canary也是相同的,因为fork函数会直接拷贝父进程的内存。 最低位为0x00,之后逐次爆破,如果cana...

2020-01-30 22:15:19

阅读数 164

评论数 0

原创 Canary学习(泄露Canary)

canary 原理 通常栈溢出的利用方式是通过溢出存在于栈上的局部变量,从而让多出来的数据覆盖ebp,eip等,从而达到劫持控制流的目的。栈溢出保护是一种缓冲区溢出攻击缓解手段,当函数存在缓冲区溢出攻击漏洞时,攻击者可以覆盖栈上的返回地址让shellcode执行。 当启用栈保护时,函数开始执行的...

2020-01-30 14:48:51

阅读数 482

评论数 0

原创 AI安全对抗WP

AI安全对抗 目前人工智能和机器学习技术被广泛应用在人机交互、推荐系统、安全防护等各个领域,其受攻击的可能性以及是否具备强抗打击能力备受业界关注,因此图像识别的准确性对人工智能产业至关重要。这一环节也是最容易被攻击者利用,通过对数据源的细微修改,在用户感知不到的情况下,使机器做出了错误的操作。这...

2020-01-21 23:12:00

阅读数 213

评论数 0

原创 基本ROP之ret2syscall

原理 控制程序执行系统调用 过程 下载链接 查看程序保护 checksec rop IDA查找危险函数 计算偏移 老方法计算偏移(gdb设置断点) 上篇博客有,可以自行查找 计算偏移为6C,十进制是108,加4之后是112 利用系统调用 简单地说,只要我们把对应获取 shell 的系统调用...

2020-01-13 21:12:00

阅读数 276

评论数 0

原创 基本ROP之ret2shellcode

原理 控制程序执行shellcode代码 shellcode指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的shell。 一般来说,shellcode需要我们自己进行填充,这其实是一种典型的利用方法。 执行条件: 对应二进制在执行时,shellcode所在区域需要可执行的权限。 ...

2020-01-12 23:13:47

阅读数 234

评论数 0

原创 基本ROP之ret2text

(IDA分析存在错误,抠了一天终于在大佬的帮助下抠出来了) 背景 当程序开启NX保护之后,直接向栈或堆上注入代码的方式难以发挥效果(数据页不执行操作) 提出绕过操作: ROP(Return Oriented Programming) 主要思想是:在栈缓冲区溢出的基础上,利用程序中已有的小片段(ga...

2020-01-12 17:01:52

阅读数 282

评论数 0

原创 基于卷积神经网络的恶意代码家族标注

背景 伴随着AI时代的到来,人们生活的方方面面都离不开计算机,人们也越来越依赖于电子产品,而恶意代码的数量规模呈指数级增长,且大多是已知种类的变种,人们的隐私和安全受到了极大的挑战。 同时当代社会正经历着一次又一次的技术变革,而人工智能,也称机器智能,就是在技术变革的浪潮中衍生出来的产物。而深度学...

2020-01-12 00:08:40

阅读数 1726

评论数 6

转载 linux程序的常用保护机制

操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险,包括DEP、ASLR等。在编写漏洞利用代码的时候,需要特别注意目标进程是否开启了DEP(Linux下对应NX)、ASLR(Linux下对应PIE)等机制,例如存在DEP(NX)的话就不能直接执行栈上的数据,存在ASLR的话各个...

2020-01-12 00:06:44

阅读数 133

评论数 0

原创 ctf wiki pwn(入门实操)

gets函数溢出 源码 #include <stdio.h> #include <string.h> void success() { puts("you are succeed!"); } void volunter() { ...

2020-01-11 22:34:33

阅读数 247

评论数 0

原创 2019xman-shellmaster wp

题目源码 import sys import os black_list = ["$", "-", "_", "{", "}", "*", "2", &qu...

2020-01-11 22:32:49

阅读数 129

评论数 0

原创 二进制入门及静态分析基础

HACKing三部曲 理解系统 系统性的基础课程学习,深入理解计算机系统的运作机制 破坏系统 学习与创作漏洞挖掘与利用技巧 重构系统 设计与构建系统防护 《汇编语言》 《c++反汇编与逆向分析技术揭秘》》 《加密与解密4》? 《恶意代码分析实战》 《0day安全:软件漏洞分析...

2019-12-07 23:10:57

阅读数 145

评论数 0

提示
确定要删除当前文章?
取消 删除