自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ronnie88597的博客

十年磨一剑,剑影开龙鳞

  • 博客(100)
  • 收藏
  • 关注

翻译 行为树(Behavior Tree)介绍

在这篇文章中,我将介绍行为树及其所有术语,将其与有限状态机进行对比,分享一些例子和软件库,并一如既往地给你留下一些资源,如果你想了解更多。

2023-06-28 19:35:33 4388

原创 【无标题】

阿达地方

2022-11-16 21:11:53 273 1

原创 配置了sshkey后git clone仍然报错:make sure you have the correct access rights and the repository exists.

在Win10环境中经常遇到配置了sshkey后git clone仍然Please make sure you have the correct access rights and the repository exists.打开文件在文件最后,添加如下内容(其中Host以。:登录git仓库网站配置sshkey的页面,将。:修改git的ssh配置。:重新生成sshkey。

2022-09-05 20:28:58 2133

原创 ubuntu命令行fdisk扩展分区

fdisk扩展分区root@cmp:/home/cmp/Downloads# fdisk /dev/sdaWelcome to fdisk (util-linux 2.34).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): pDisk /dev/sda: 100 GiB, 107

2022-04-27 09:29:30 3044

原创 Ubuntu配置Samba

sudo apt-get install sambasudo smbpasswd -a root # 设置共享用户密码在/etc/samba/smb.conf 文件中添加:[share]path = /home/zsh/sharevalid users = rootwritable = yes 重启sudo service smbd restart

2022-03-24 14:37:20 327

原创 Boofuzz协议漏洞挖掘入门教程与使用心得

文章目录1.简介1.1.从Sulley说起1.2.Boofuzz2.Dev环境部署2.1.使用pip安装部署2.2.从源码部署boofuzz2.3.进程监控2.4.网络监控,network_monitor.py3.入门快速使用3.1.实例化`Session`对象3.2.定义消息(Request)3.3.构建协议树(Protocol-Tree)3.4.Fuzz3.5.查看结果4.必备知识汇总4.1.会话,Session4.2.目标,Target4.2.1.Repeater4.2.2.TimeRepeater4

2021-08-02 21:31:03 14436 1

原创 Linux和Win平台下函数调用参数传递约定详解

文章目录1.前言2.调用约定分类2.1.按清除参数的方式分类3.Linux平台下常见的函数调用约定3.1.Linux下x86平台3.2.Linux下x86-64平台4.Win平台下常见的函数调用约定4.1.Win下x86平台4.1.1.cdecl4.1.2.stdcall常见的x86浮点数指令:4.1.3.fastcall**1问:空类,即不含任何成员变量和虚函数的类,空类大小为什么是1btye?**4.1.4.thiscall4.2.Win下x86-64平台1问:在栈中00000000001BF8E8地址

2021-03-12 16:07:15 2285 2

转载 【转载】基于LLVM Pass实现控制流平坦化

基于LLVM Pass实现控制流平坦化文章目录基于LLVM Pass实现控制流平坦化0x00. 什么是LLVM和LLVM Pass0x01. 首先写一个能跑起来的LLVM Pass0x02. 控制流平坦化的基本思想和实现思路0x03. 基于LLVM Pass实现控制流平坦化0x04. 混淆效果测试转载:https://mp.weixin.qq.com/s/FD5YRurcLGh_VlV9GlWB8w提到代码混淆时,我首先想到的是著名的代码混淆工具OLLVM。OLLVM(Obfuscator-LLV

2021-03-01 17:14:48 1144

转载 【转载】《逆袭进大厂》之C++篇49问49答

文章目录1、在main执行之前和之后执行的代码可能是什么?2、结构体内存对齐问题?3、指针和引用的区别4、堆和栈的区别5、区别以下指针类型?6、基类的虚函数表存放在内存的什么区,虚表指针vptr的初始化时间7、new / delete 与 malloc / free的异同8、new和delete是如何实现的?9、malloc和new的区别?10、宏定义和函数有何区别?11、宏定义和typedef区别?12、变量声明和定义区别?13、哪几种情况必须用到初始化成员列表?14、strlen和sizeof区别?15

2021-03-01 17:10:11 1216

转载 【转载】《逆袭进大厂》之C++篇59问59答

文章目录50、static的用法和作用?51、静态变量什么时候初始化52、const关键字?53、指针和const的用法54、形参与实参的区别?55、值传递、指针传递、引用传递的区别和效率56、什么是类的继承?57、什么是内存池,如何实现58、从汇编层去解释一下引用59、深拷贝与浅拷贝是怎么回事?60、C++模板是什么,你知道底层怎么实现的?61、new和malloc的区别?62、delete p、delete [] p、allocator都有什么作用?63、new和delete的实现原理, delete是

2021-03-01 17:04:20 1380

转载 Linux X86 程序启动 – main函数是如何被执行的?

文章目录一、目标读者二、覆盖范围三、调用过程分析3.1 main函数的调用main函数如何被调用3.2 _start函数分析3.2.1 首先,_start是如何启动的?3.2.2 _start函数就是我们开始的地方3.2.3 调用__libc_start_main之前的设置3.2.4 环境变量哪里去了?3.3 __libc_start_main函数分析3.3.1 __libc_start_main功能概述3.3.2 调用init参数3.4 __libc_csu_init函数分析3.4.1 用户应用程序的构造

2020-12-24 16:07:30 1479 1

转载 【转载】程序的内存布局

文章目录1.内核空间和用户空间2.Linux进程中的标准内存布局2.1栈2.2内存映射段2.3堆2.4数据段和代码段参考内存管理是操作系统的核心,它对于编程和系统管理都是至关重要的。在接下来的文章中,我将着眼于实际方面来介绍内存,但不会回避内存的内部结构。这些概念是通用的,示例大多来自32位x86上的Linux和Windows。1.内核空间和用户空间多任务操作系统中的每个进程都在自己的内存沙箱中运行。这个沙箱是虚拟地址空间,在32位模式下,它总是一个4GB内存地址块。这些虚拟地址由页表映射到物理内存,

2020-12-18 20:39:16 261 2

翻译 【翻译】关于代码指针完整性(CPI)的有效性——On the Effectiveness of Code Pointer Integrity

关于代码指针完整性(CPI)的有效性文章目录关于代码指针完整性(CPI)的有效性摘要1.简介1.1贡献2.威胁模型3.背景3.1 CPI总览3.2通过内存损坏的旁通道3.3内存熵4.攻击方法4.1脆弱性4.2数据收集4.3找到安全区域4.4攻击安全区4.5攻击优化5.测量和结果5.1脆弱性5.2定时攻击5.3找到安全区域5.4崩溃时快速攻击5.5攻击安全区5.6总结6.CPI的实施缺陷7.讨论7.1设计假设7.2修补CPI8.可能的对策9.相关工作10.结论11.致谢参考这项工作是由国防研究与工程助理

2020-12-16 20:36:30 672

翻译 【翻译】在代码指针完整性(CPI)上攻击的可能性——On the Feasibility of Attacks on Code-Pointer Integrity

文章目录摘要1.指针完整性1.1基于硬件分段的实现1.2基于软件故障隔离的实现1.3基于信息隐藏的实现2.对CPI实施最简单的攻击参考摘要尽管进行了许多研究来减轻控制流劫持攻击,但仍是一个主要的安全问题。 代码指针完整性(CPI)[2]是第一个系统保护所有此类攻击并同时保持较低性能开销的保护机制。 在即将发布的S&P’15论文中,Evans等人 [1]声称可以在x86-64和ARM体系结构上绕过CPI。 本文是对[1]中声称CPI总体上存在安全漏洞的说法的澄清回应。如形式正确性证明[2]所示,

2020-12-13 11:45:27 269

翻译 【翻译】代码指针完整性——Code Pointer Integrity

代码指针完整性文章目录代码指针完整性摘要SEC-1 介绍SEC-2 威胁模型SEC-3 设计3.1 代码指针完整性(CPI)的属性3.2 CPI执行机制3.2.1 CPI静态分析3.2.2 CPI检查3.2.3 隔离安全区域3.2.4 安全栈3.3 代码指针分离(CPS)SEC-4 实施4.1 分析和检查Passes4.2 安全堆栈检查Pass4.3 运行时支持库4.4 二进制级功能4.5 局限性4.6 敏感的数据保护4.7 未来基于MPX的实施SEC-5 评估5.1 RIPE基准的有效性5.2 SPEC

2020-12-09 19:31:50 607

原创 国内外多样化编译发展及应用

目前多样化编译的研究主要集中在软件保护和网络攻击领域。目前在软件保护方面,国内外大都采用代码混淆编译技术给软件提供更强的保护。代码混淆技术将软件中的各种资源进行等价转换,转换后软件功能等价但数据和代码结构变得复杂化且可读性变差,使软件更能抵御静态解析、逆向工程和篡改等恶意攻击。而多样化编译在网络攻击领域的发展,可以追溯到1993年, 弗雷德·科恩(Fred Cohen)认为网络应用同质化部署做法对网络安全有不利影响,Forrest也在1997年对此观点进行了强调。软件的同质化部署,使得一个漏洞可以攻破系统

2020-11-27 20:41:41 842 1

原创 虚拟机逃逸漏洞统计【截止2020年】

CVE编号 漏洞信息 漏洞类型 CVE-2007-0071 Vmware多个版本允许远程攻击者通过特制的场景计数值为负的SWF文件执行任意代码,该文件通过有符号比较,用作空指针的偏移量,并触发缓冲区溢出。 缓冲区溢出 CVE-2011-1751 qemu kvm中piix4电源管理仿真中hw/acpi_piix4.c中的pciej_write函数在拔下...

2020-11-26 16:16:40 2023

原创 python3利用爬虫从https://cve.mitre.org网站获取漏洞信息

python3利用爬虫从https://cve.mitre.org网站获取漏洞信息import requestsfrom bs4 import BeautifulSoupimport logginglogging.basicConfig(level=logging.INFO, # 设置日志级别 format='%(asctime)s - %(filename)s(%(lineno)d)[%(levelname)s]: %(message)s')head

2020-11-12 20:30:11 1263

转载 Shell 解析命令行参数工具:getopts/getopt

Shell 解析命令行参数工具:getopts/getopt文章目录Shell 解析命令行参数工具:getopts/getopt转载:https://www.cnblogs.com/yxzfscg/p/5338775.html前言1.getopts2.getopt转载:https://www.cnblogs.com/yxzfscg/p/5338775.html前言getopt 与 getopts 都是 Bash 中用来获取与分析命令行参数的工具,常用在 Shell 脚本中被用来分析脚本参数。两者的

2020-11-06 17:43:46 646

原创 ubuntu1404编译安装httpd-2.2.2

系统信息Linux ubuntu 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux下载源码包:apr-1.2.6.tar.gz,发布日期2006-03-27apr-util-1.2.6.tar.gz,发布日期2006-03-27httpd-2.2.2.tar.gz,发布日期2006-04-22将apr-1.2.6.tar.gz,apr-util

2020-10-26 21:10:12 242

原创 Win7_x86环境下VS2008编译安装httpd-2.2.14

文章目录系统信息下载httpd-2.2.14下载VS2008安装VS2008使用VS2008编译httpd-2.2.14报错处理安装httpd-2.2.14修改所有子项目的httpd-2.2.14源码系统信息下载httpd-2.2.14点击下载httpd-2.2.14下载VS2008https://msdn.itellyou.cn/网站上有VS2008,安装一个迅雷很快就可以下载下来。安装VS2008略使用VS2008编译httpd-2.2.14使用VS2008打开httpd-2.2.1

2020-10-26 11:20:52 324

原创 汇编指令中寻址方式汇总

文章目录立即寻址直接寻址寄存器寻址寄存器间接寻址寄存器相对寻址基址加变址寻址相对基址变址寻址立即寻址操作数作为指令的一部分直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。mov eax, 10h直接寻址在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址。mov eax, [0x00304C18h]寄存器寻址操作数在寄存器中,在指令中直接使用寄存器号的方式称为寄存器寻址。mov eax, [esi]寄存器间接寻址操作数在存储器中,操作数有效地址在e

2020-10-21 17:29:42 2111 1

原创 32位CPU寄存器常用知识汇总

文章目录1、32位CPU所含有的寄存器有:通用寄存器包括:2、数据寄存器EAXEBXECXEDX3、变址寄存器4、指针寄存器5、段寄存器CSDSESSSFSGS6、指令指针寄存器7、标志寄存器:EFLAG7.1、运算结果标志位CFOFSFZFAFPF7.2、状态控制标志位TFIFDF7.3、32位CPU新增的标志位IOPLNTRF虚拟8086方式标志位1、32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP

2020-10-21 17:06:30 4052

原创 ubuntu1604编译安装apache2(httpd-2.4.18)+配置openssl环境

ubuntu1604编译安装apache2(httpd-2.4.18)+配置openssl环境文章目录ubuntu1604编译安装apache2(httpd-2.4.18)+配置openssl环境下载安装包执行编译安装脚本修改配置文件运行测试下载安装包http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gzhttp://archive.apache.org/dist/apr/apr-1.5.2.tar.gzhttp://archive.apa

2020-10-20 15:21:37 558

原创 Linux二进制ELF程序查找symbol过程分析

文章目录0.相关section的简介.got.plt.got.plt.plt.got1.关于Partial RELRO下的外部函数延迟/惰性(lazily)调用的过程分析1.1例子1.2静态编译结果初步分析1.3GOTPLT_ADDR是什么地址?jmp到该地址将会完成那些功能?1.4对比Partial Full下的符号查找过程1.5总结一下2.参考[Runtime Dynamic Linking](http://users.eecs.northwestern.edu/~kch479/docs/notes/l

2020-09-18 16:50:50 3459 2

原创 深入分析ELF文件结构及其载入过程

文章目录前言ELF目标文件类型以下面例子深入分析ELF详解file命令结果的各个部分ELF的文件结构ELF知识扩展Linux系统装载ELF的过程用户层面系统层面前言一般程序符号和数据,包括:全局变量,静态全局变量,全局函数,静态全局函数,外部符号(函数/变量),局部变量,局部静态变量,字面量(常量)等。程序从源码(如:C语言)到ELF二进制可执行文件,一般需要通过编译器和链接器来处理并生产。ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(Program header tabl

2020-09-17 15:55:54 3261

原创 ubuntu14.06.6上编译安装nginx、php5、php-fmp环境

系统信息cmp@ubuntu:~/work_dir$ uname -aLinux ubuntu 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linuxphp-5.6.7源码包下载地址https://www.php.net/distributions/php-5.6.7.tar.gz安装方案概述nginx采用apt安装php采用编译安装1.ph

2020-09-14 17:20:00 202

原创 [漏洞挖掘]peach中配置pit文件—从入门到入狱系列

0.目录文章目录0.目录1.pit简介2.peach解析pit文件的过程分析peach解析pit文件的过程3.运行test的过程4.pit文件的基本格式5.Include6.Default7.PythonPath8.Import9.DataModel子元素:Blob子元素:Block子元素:Choice子元素:Custom子元素:Flag子元素:Flags子元素:Number子元素:Padding子元素:StringXmlAnalyzer子元素:XmlAttribute子元素:XmlElementRela

2020-09-09 19:28:41 7990 1

原创 使用ruby和python快速开发metasploit自定义模块

使用ruby/python快速开发metasploit模块前言本文的内容主要分为两个部分:提供一个基本ruby模块代码框架,并快速开发自定义ruby模块提供一个基本python模块代码框架,并快速开发自定义python模块知识拓展metsploit中,根据模块的用途对模块进行的分类,在实际开发过程中coder需要将新增的自定义模块放到对应的分类目录中。此外在python开发模块时,需要在在metadata中的type字段(string类型)正确设置其分类。分类如下:encoder,编码器

2020-08-15 11:39:57 2256

转载 123个hacker必备的Python工具【转载】

文章开始前首先让我们来了解一下什么是Python。Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。重点是,Python 是一种对初学者非常友好的语言,从应用程序开发到文字处理、web甚至是游戏能提供支持,不少人也会将Python作为黑客攻击语言。为何Python会被选用为黑客语言呢?1.支持功能强大的黑客攻击模块。如前所述,Python 的优点之一是拥有丰富多样的库。Python 提供多种库,用于支持黑客攻击,比如 pydbg、scapy、sqlmap、httplib

2020-08-15 09:47:01 537

原创 笔记——nmap渗透常用功能汇总

笔记——nmap渗透常用功能汇总最近在深入学习nmap,把过程中的重点稍微记一下,排版比较乱(__) 嘻嘻……。有强迫症的同学见谅了哈。有时间周末再修改这个博文(__) 嘻嘻……nmap扫描的端口状态解释:open,表示开放状态;closed,表示关闭状态;filterd,表示端口处于过滤无法收到返回的probe状态;unfilterd,表示端口收到返回的probe,但是无法确定是否被过滤;opend/unfilterd,表示端口处于开放或者未过滤状态;closed/unfilterd,表

2020-08-13 21:09:20 783

原创 01.Ruby之路@弄懂p、print和puts的区别

01.弄懂p、print和puts的区别约定为了让整个文章的内容紧凑且可读性更强,下面的排版将遵循一下原则:对一段代码打印结果的注解,采用"#>>",如下:puts "Hello world!" #>> Hello world!对一段代码/函数的返回结果的注解,采用"#=>",如下:puts "Hello world!" #=> nil常规的文字注释,采用"#",如下:puts "Hello world!" # The code is us

2020-08-11 16:40:26 395

转载 【新大陆】98个漏洞索引汇总^_^可以玩很久了^_^

作者:WHEREISK0SHL原文:https://whereisk0shl.top/post/2019-03-0998篇文章几乎全部都是来自exploit-db,exploit-db提供了exploit/PoC,以及漏洞软件下载的地址,paper以及一些漏洞细节的说明漏洞总结索引越界读写TCPDUMP 4.5.2拒绝服务漏洞NetCat【nc】 0.7.1 远程拒绝服务漏洞VideoLAN VLC Media Player 2.2.1栈溢出HALLIBURTON LOGVIEW PRO拒

2020-07-16 17:51:24 451

翻译 【翻译】动态完整性度量和证明:防御面向返回的编程攻击——Dynamic Integrity Measurement and Attestation...

动态完整性度量和证明:防御面向返回的编程攻击【文章为google-translate的直译结果,最近暂时没有时间修改翻译内容。google-translate的翻译结果中有很多明显的错误,遇到类似的问题,请读者结合英文仔细揣摩。】ABSTRACT摘要Despite the many efforts made in recent years to mitigate runtime attacks such as stack and heap based buffer overflows, these

2020-05-27 23:50:28 1618

翻译 【翻译】大规模软件多样性作为防御机制——Massive-Scale Software Diversity as a Defense Mechanism

大规模软件多样性作为防御机制【文章为google-translate的直译结果,最近暂时没有时间修改翻译内容。google-translate的翻译结果中有很多明显的错误,遇到类似的问题,请读者结合英文仔细揣摩。】ABSTRACT摘要We contend that the time has come to revisit the idea of software diversity for defense purposes. Four fundamental paradigm shifts that

2020-05-26 16:45:48 1966

翻译 【翻译】粉碎Gadgets:使用就地代码随机化防御面向返回的编程——Smashing the Gadgets: Hindering Return-Oriented Programming...

粉碎Gadgets:使用就地代码随机化防御面向返回的编程Abstract—The wide adoption of non-executable page protections in recent versions of popular operating systems has given rise to attacks that employ return-oriented programming (ROP) to achieve arbitrary code execution without t

2020-05-25 22:18:17 1602

翻译 【翻译】Marlin:一种新的随机方法来防御ROP攻击——Marlin: A fine grained randomization approach to defend against ROP

Marlin:一种新的随机方法来防御ROP攻击Abstract:摘要Code-reuse attacks, such as return-oriented programming (ROP), bypass defenses against code injection by repurposing existing executable code toward a malicious end. A common feature of these attacks is the reliance on

2020-05-25 14:24:38 1746

翻译 【翻译】ILR-我的Gadgets去哪里了——ILR: Where’d My Gadgets Go?

ILR-我的Gadgets去哪里了Abstract—Through randomization of the memory space and the confinement of code to non-data pages, computer security researchers have made a wide range of attacks against program binaries more difficult. However, attacks have evolved to ex

2020-05-24 22:50:58 1781

原创 3.05 flex和bison进阶,产生C++语法分析器

bison C++版本的语法分析器都是可重入的,所以bison为语法分析器创建了一个类。在使用可重入的语法分析器时,程序员可以创建他所需要数量的实例,然后传入在另一个类中保存的每个实例的应用数据。点击查看这篇文章,其中包含有关可重入语法分析器的信息。每次创建C++ 版本的语法分析器时,bison会创建四个头文件:location.hh和position.hh用来定义位置结构,stack.hh定义内部语法分析器堆栈,以及一个定义语法分析器自生的头文件。前三个头文件内容并不会变化,最后一个头文件则包含该语法分

2020-05-14 11:17:19 5701 1

原创 2.08 Flex如何为部分通用匹配模式定义一个名字

为部分通用匹配模式定义一个名字可以帮助我们分解复杂的表达式,并有助于表达出你的设计意图。定义采用的格式:NAME RE_Expr名字可以包含字母、数字、连字符和下划线,但不能以数字开头。在规则部分,模式可能会包含通过花括号{}括起的基于名字的替换,例如{NAME}。这个名字所代表的表达式将被代入到模式中,并且该表达式会被认为已经用圆括号括起来了,例如:DIG [0-9]...%%{DIG}+ { process_integer(); }{DIG}+\.{DIG}* |\.{DIG}+

2020-05-11 16:07:54 223

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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