20155204 王昊《网络对抗技术》EXP1 PC平台逆向破解

20155204 王昊《网络对抗技术》EXP1 PC平台逆向破解

(一)实验内容

一、掌握NOP、JNE、JE、JMP、CMP汇编指令的机器码
  • NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)
  • JNE:条件转移指令,如果不相等则跳转。(机器码:75)
  • JE:条件转移指令,如果相等则跳转。(机器码:74)
  • JMP:无条件转移指令。段内直接短转Jmp short(机器码:EB)段内直接近转移Jmp near(机器码:E9)段内间接转移Jmp word(机器码:FF)段间直接(远)转移Jmp far(机器码:EA)
  • CMP:比较指令,功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。
二、掌握反汇编与十六进制编程器

反汇编指令:objdump -d xxx
将显示模式切换为16进制模式:%!xxd
转换16进制为原格式:%!xxd -r

三、正确修改机器指令改变程序执行流程

主要流程为:反汇编-->16进制查看文件修改foo函数返回地址为shellcode的地址,从而达成目的。
1071529-20180317160516476-168456768.png

四、能正确构造payload进行bof攻击

在完成构造一个攻击输入字符串,覆盖返回地址,触发getShell函数的基础上,
1071529-20180317160406381-551310778.png

要构造一个能将shellcode地址注入foo后的返回地址寄存器的字符串。为了找到这个返回地址寄存器,需要:关闭地址随机化-->将字符串中返回地址设为特定数字-->在eip寄存器中找到foo后返回地址-->将字符串的返回地址改为上一步的那个地址-->完成攻击
1071529-20180317160413678-880250635.png
1071529-20180317160418055-198212274.png

(二)实验总结感悟

一、实验参考
二、感悟

实验感觉难度适中,接触到了漏洞与攻击,做很简单,理解起来花了一些功夫,可能还有点不到位。但是组长以及其他同学的博客给予的帮助还是很大的,不仅能解决操作问题,对比着不同同学的博客也能更好的去理解实验。

转载于:https://www.cnblogs.com/20155204wh/p/8590487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值