读书笔记4:0day安全:软件漏洞分析技术

实验内容:向进程中植入代码

这节中,依旧抛出原文:”上节实验中,我们让函数返回main函数的验证通过分支的指令。试想下,如果我们在buffer里面包含我们自己想要执行的代码,然后通过返回地址让程序跳转到系统战力执行,我们岂不是可以让进程取执行本来没有的代码,直接去做其他事情了!“
不得不说,结合书中示意图,真的很简洁易懂…
在这里插入图片描述
本次实验目的,我们准备向password.txt文件址入二进制的机器码,并用这段机器码调用Windows的一个API函数MessageBoxA,最终在桌面上弹出一个消息框并显示一些字符串
源码相较上个实验略作小改:

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "windows.h"   //用于调用LoadLibrary函数装在user32.dll用于植入MessageBosA
#define PASSWORD "1234567"

int verify_password(char *password)
{
   
    int authenticated;
    char buffer[44];        //机器码空间可能大于8因此方便演示,做了扩充
    authenticated = strcmp(password,PASSWORD);
    strcpy(buffer,password);//over flowed here!!!
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值