《网络对抗技术》Exp2 PC平台逆向破解之“MAL_简单后门” Week4

一、实验内容

  • Task1

  • 自己编写一个64位shellcode。参考shellcode指导。

  • 自己编写一个有漏洞的64位C程序,功能类似我们实验1中的样例pwn1。使用自己编写的shellcode进行注入。

  • Task 2(未完成)

  • 进一步学习并做ret2lib及rop的实践,以绕过“堆栈执行保护”。参考ROP

  • Task 3(未完成)

  • 可研究实践任何绕过前面预设条件的攻击方法;可研究Windows平台的类似技术实践。

  • 或任何自己想弄明白的相关问题。包括非编程实践,如:我们当前的程序还有这样的漏洞吗?

二、实验步骤

1、Task1

  • 1、打开创段,创建shellcode.c,输入shellcode源码:

  • 2、编译生成可执行文件,执行查看效果:

  • 3、反汇编查看代码objdump -d shellcode | more,并且找到main函数:

  • 4、打开另一终端,将main函数的16进制代码写进一个C程序中来测试我们获得的shellcode是否正确。这里折腾了两三个小时后失败了。对于整体的流程我已经烂熟于心了,但一直卡在一个地方:根据反汇编代码,用汇编写出代码。这一点我始终学不会,学姐的博客也没有写出来。于是我决定先跳过这一步,拿现成的汇编代码来进行下面的步骤。也希望自己能够在今后的学习中解决这个遗憾。

  • 5、创建newshellcode.nasm,输入如下代码:

  • 6、先后输入nasm -felf32 newshellcode.nasm -o newshellcode.old -melf_i386 newshellcode.o -o newshellcode.bin,进行汇编与链接,,再输入./newshellcode运行尝试,成功。

  • 7、查看反汇编代码,提取出来

    shellcode[]="\x31,\xc0,\x31,\xd2,\xb0,\x0b,\x52,\x66,\x68,\x2d,\x63,\x89,\xe7,\x52,\x68,\x62,\x61,\x73,\x68,\x68,\x62,\x69,\x6e,\x2f,\x68,\x2f,\x2f,\x2f,\x2f,\x89,\xe3,\x52,\xeb,\x06,\x57,\x53,\x89,\xe1,\xcd,\x80,\xe8,\xf5,\xff,\xff,\xff,\x2f,\x62,\x69,\x6e,\x2f,\x73,\x68"

  • 8、放进C语言程序进行调试:

  • 9、调试,成功:

  • 10、使用实验一的第三个步骤的方法进行注入,结果如下:

2、Task2

20165214 2018-2019-2 《网络对抗技术》Exp1+ 逆向进阶 Week4的更多相关文章

  1. 20145311 王亦徐《网络对抗技术》 逆向及BOF进阶实践

    20145311<网络对抗技术>逆向及BOF进阶实践 学习目的 shellcode注入:shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈 ...

  2. 20145321《网络对抗技术》逆向与Bof基础

    20145321<网络对抗技术>逆向与Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何 ...

  3. 20145337《网络对抗技术》逆向及BOF基础

    20145337<网络对抗技术>逆向及BOF基础 实践目标 操作可执行文件pwn1,通过学习两种方法,使main函数直接执行getshall,越过foo函数. 实践内容 手工修改可执行文件 ...

  4. 20145302张薇 《网络对抗技术》逆向及BOF基础实践

    20145302张薇 <网络对抗技术>逆向及BOF基础实践 实验内容 实践对象:名为20145302的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单 ...

  5. 20145328 《网络对抗技术》逆向及Bof基础实践

    20145328 <网络对抗技术>逆向及Bof基础实践 实践内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回 ...

  6. 20145210姚思羽《网络对抗技术》逆向及Bof基础实践

    20145210姚思羽<网络对抗技术>逆向及Bof基础实践 实践目标 1.本次实践的对象是一个名为pwn1的linux可执行文件. 2.该程序正常执行流程是:main调用foo函数,foo ...

  7. 20145236《网络对抗》Exp1 逆向及Bof基础

    20145236<网络对抗>Exp 1逆向及Bof基础 一.实践目标 运行原本不可访问的代码片段 强行修改程序执行流 以及注入运行任意代码. 二.基础知识及实践准备 理解EIP寄存器及其功 ...

  8. 20145339顿珠达杰 《网络对抗技术》 逆向与Bof基础

    目的 通过一些方法,使能够运行本不该被运行的代码部分,或得到shell的使用: 将正常运行代码部分某处call后的目标地址,修改为另一部分我们希望执行.却本不应该执行的代码部分首地址(这需要我们有一定 ...

  9. 实验一 《网络对抗技术》逆向及Bof技术

随机推荐

  1. MVC基本登陆与验证码功能实现

    一.基本登陆实现与验证码功能实现,该功能是和spring.net功能集合使用的,因为后面要用到验证是否处于登陆状态 1. 先构建一个登陆页面 @{ Layout = null; } <!DOCT ...

  2. Ctrl+Alt+Down/Up 按键冲突

    I mapped Ctrl-Alt-Up/Down to open web-browser and email client but it didn't take effect. Ctrl-Alt-U ...

  3. JVM垃圾回收(二)- Minor GC vs Major GC vs Full GC

    Minor GC vs Major GC vs Full GC 垃圾回收的活动会清理对内存中的不同区域,这些事件一般被称为Minor,Major以及Full GC events.本章我们会讨论这些清理 ...

  4. sentinel详解

    https://segmentfault.com/a/1190000002680804 sentinel端口 port #工作路径 dir "/usr/local/redis-6380&qu ...

  5. 学习python的几种模块

    最近在研究python写的拷屏系统,里面应用到了很多种模块,有文件操作的(shutil,os),多进程控制的(thread,threading),涉及时间的(time,datetime),数据库操作的 ...

  6. c# Winform Chart入门

    额外参考链接:http://www.cnblogs.com/greenerycn/archive/2008/10/27/microsoft-chart.html winform 仪表盘相关下载链接:/ ...

  7. npm run build 打包后,如何运行在本地查看效果(Nginx服务)

    这段时间,研究了一下vue 打包的很慢的问题.但是当我 npm run build 打包后,在本地查看效果的时候,活生生被我老大鄙视了,因为我打开了XAMPP.他说:你怎么不用Nginx啊?用这个一堆 ...

  8. Ubuntu配置MYSQL远程连接

    一.修改mysql权限 1.mysql -u root -p  回车输入密码 2.use mysql:      打开数据库 3.将host设置为%表示任何ip都能连接mysql,当然您也可以将hos ...

  9. Firebug: 已拦截跨源请求:同源策略禁止读取位于XXX的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-

    第一种,就是在被请求的程序中添加HTTP头,即CORS跨域(跨域资源共享,Cross-Origin Resource Sharing) 如: Response.Headers.Add("Ac ...

  10. 原生js手动轮播图

    手动轮播图,为轮播图中的一种,轮播图主要有无缝轮播,手动轮播,延迟轮播,切换轮播等等... 轮播图主要用于展现图片,新出商品,词条,又能美观网页.給网页中增加动态效果. 手动轮播,是小编认为最简单的一 ...