实践内容:

  • 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。
  • 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。
  • 注入一个自己制作的shellcode并运行这段shellcode

    实践所涉及指令

    汇编中的指令:
    call:使程序跳转到某个地址并开始执行,被调用的过程位于当前代码段内。它的机器指令是一个16位的有符号数,也就是说被调用的过程的首地址必须位于距离当前call指令-32768~+32767字节的地方。在指令执行的时候,处理器先把IP的值压栈,然后根据操作数调整IP的值(IP=IP+操作数+3),这直接导致处理器的执行流转移到目标位置处。
    ret:近返回指令。执行的时候,处理器从栈中弹出一个字到IP中。
    NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)
    JNE:条件转移指令,如果不相等则跳转。(机器码:75)
    JE:条件转移指令,如果相等则跳转。(机器码:74)
    JMP:无条件转移指令。段内直接短转Jmp
    CMP:比较指令,功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。
    gdb中的指令:
    attach:直接在gdb中把一个正在运行的进程连接到gdb中,以便于进行动态调试;
    disassemble:命令用于反汇编,它可被用来查看当前执行时的源代码的机器码,其实际上只是把目前内存中的指令dump出来。
    linux中的指令:
    ps:用来查看进程
    grep:是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
    prel: Perl是一门解释型语言,不需要预编译,可以在命令行上直接使用

    实践一:直接修改程序机器指令,改变程序执行流程

    用objdump -d命令反汇编。


    用vim修改文件将d7改为c3后运行

    实践二:通过构造输入参数,造成BOF攻击,改变程序执行流


    实践三:注入Shellcode并执行



    实验收获与感想

    这次实验总体来说比较简单,跟着老师的实验指导和组长的实验博客很顺利地就做完了。这是第一次接触攻防一类的实验,成功做完之后还是很有成就感的。

    什么是漏洞?漏洞有什么危害?

  • 什么是漏洞
    我认为漏洞就是安全缺陷,设计人员在设计时故意留下或者因为疏忽留下的弱点。
  • 漏洞有什么危害
    这些安全缺陷会被技术高低不等的入侵者所利用,从而达到控制目标主机或造成一些更具破坏性的目的。

20155234 昝昕明 《网络对抗技术》实验一 PC平台逆向破解的更多相关文章

  1. 20165221 《网络对抗技术》EXP1 PC平台逆向破解

    20165221 <网络对抗技术>EXP1 PC平台逆向破解 一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函 ...

  2. 2018-2019-2 网络对抗技术 20165325 Exp1 PC平台逆向破解

    2018-2019-2 网络对抗技术 20165325 Exp1 PC平台逆向破解(BOF实验) 实验有三个模块: (一)直接修改程序机器指令,改变程序执行流程: (二)通过构造输入参数,造成BOF攻 ...

  3. 2018-2019-2 20165206《网络对抗技术》Exp1 PC平台逆向破解

    - 2018-2019-2 20165206<网络对抗技术>Exp1 PC平台逆向破解 - 实验任务 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:mai ...

  4. 2018-2019-2 20165317《网络对抗技术》Exp1 PC平台逆向破解

    2018-2019-2 20165317<网络对抗技术>Exp1 PC平台逆向破解 实验目的 掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:无作用,英文&quo ...

  5. 2018-2019-2 网络对抗技术 20165336 Exp1 PC平台逆向破解

    2018-2019-2 网络对抗技术 20165336 Exp1 PC平台逆向破解 1. 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常 ...

  6. 2018-2019-2 网络对抗技术 20165305 Exp1 PC平台逆向破解

    2018-2019-2 网络对抗技术 20165305 Exp1 PC平台逆向破解 实验1-1直接修改程序机器指令,改变程序执行流程 先输入objdump -d 20165305pwn2查看反汇编代码 ...

  7. 2018-2019-2 《网络对抗技术》 Exp1 PC平台逆向破解 20165215

    2018-2019-2 <网络对抗技术> Exp1 PC平台逆向破解 20165215 目录 知识点描述 实验步骤 (一)直接修改程序机器指令,改变程序执行流程 (二)通过构造输入参数,造 ...

  8. 2018-2019-2 20165316 《网络对抗技术》Exp1 PC平台逆向破解

    2018-2019-2 20165316 <网络对抗技术>Exp1 PC平台逆向破解 1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件 ...

  9. 20165214 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 Week3

    <网络对抗技术>Exp1 PC平台逆向破解之"逆向及Bof基础实践说明" Week3 一. 实验预习 1.什么是漏洞?漏洞有什么危害? 漏洞就是在计算机硬件.软件.协议 ...

  10. 2018-2019-2 网络对抗技术 20165228 Exp1 PC平台逆向破解

    2018-2019-2 网络对抗技术 20165228 Exp1 PC平台逆向破解 实验内容及步骤 第一部分:直接修改程序机器指令,改变程序执行流程 关键:通过修改call指令跳转的地址,将原本指向被 ...

随机推荐

  1. SQLServer 学习笔记之超详细基础SQL语句 Part 2

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 1------------------- 建立如下数据表 CREATE ...

  2. excel、xls文件读写操作

    python 常用的excel.xls文件读写操作,有两个模块 xlrd:读 xlwt:写 本次先写一个读的例子: class CaseData(object): def __init__(self, ...

  3. Sql server 使用drop database 语句,无法删除正在使用的数据库的解决办法

    使用DROP DATABASE 删除数据库  显示“无法删除数据库 ,因为该数据库当前正在使用. 解决办法:在删除某一个数据库(下例中的“DB1”数据库)前,强制kill掉该数据库上的所有数据库连接. ...

  4. Oracle 单实例 Relink Binary Options 说明

    一.引入问题 帮朋友在CentOS上安装一个10g的Oracle,结果朋友的CentOS版本是6.2的版本,最新的一个版本,不过Linux上基本都差不多,所以按照以前的步骤,迅速的操作起来,结果遇到N ...

  5. sql server 2008 身份验证失败 18456

    双击打开后加上  ;-m  然后以管理员方式  打开 SQLSERVER 2008  就可以已window身份登录  不过还没有完 右键  属性  =>安全性 更改为 sql server 和 ...

  6. IE 出现stack overflow 报错的原因归纳

    1. 重定义了系统的触发事件名称作为自定义函数名如:  onclick / onsubmit ...  都是系统保留的事件名称,不允许作为重定义函数名称: 2. IE缓存满了,无法写入.解决办法:清空 ...

  7. mysql的“The user specified as a definer (”@’%') does not exist”问题 解决

    2017-12-27,MYSQL的存储调用时出现了“The user specified as a definer (”test@’%') does not exist”的问题. 网上查过后,都是提示 ...

  8. 解决:Host xxx.xxx.xxx.xxx is blocked because of many connection errors.

    Host "xxx.xxx.xxx.xxx" is blocked because of many connection errors 1.原因:当使用错误的密码连接mysql时, ...

  9. 详解coredump

    一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要 ...

  10. JSSDK图像接口多张图片上传下载并将图片流写入本地

    <span style="font-size: 14px;"><!DOCTYPE html> <html lang="en"> ...