20145304 网络对抗技术 逆向与Bof基础

20145304 网络对抗技术 逆向与Bof基础

实践目标

学习以下两种方法,运行正常情况下不会被运行的代码:

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

实践过程

直接修改程序机器指令,改变程序执行流程

1.先对原文件进行备份cp pwn1 ~/20145304/5304pwn1```` 2.用objdump -d pwn1 | more```进行反汇编,了解程序用途。
3.运行程序,验证其功能。
885278-20170301221603985-1896638277.png

4.vi 5304pwn1打开文件,在vi中用:%!xxd将模式切换为16进制模式。
885278-20170301221614548-2130124345.png

885278-20170301221632751-688805226.png

5./e8 d7查找要修改的内容。
6.将参与返回地址计算的d7 ff ff ff改为c3 ff ff ff,
可用计算器算出该值。
7.转换16进制为原格式:!xxd -r
885278-20170301221713954-1727291475.png

8.保存后退出:wq
9.反汇编查看修改是否成功,运行验证。
885278-20170301221735751-453602613.png

885278-20170301221748579-392689002.png

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

1.用gdb进行调试,直到出现溢出错误,查看溢出后覆盖%eip的值。
885278-20170301221820876-54545116.png

885278-20170301222052579-1151964555.png

885278-20170301222227720-141623927.png

2.构造输入的字符串,使覆盖%eip的值为getShell函数的地址。
885278-20170301222357579-951487604.png

3.运行验证。
885278-20170301222624001-1342100783.png

转载于:https://www.cnblogs.com/LLLLLLQL/p/6486707.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值