20145327《网络对抗》——注入shellcode并执行和Return-to-libc攻击深入

20145327《网络对抗》——注入shellcode并执行

  • 准备一段Shellcode
    老师的shellcode:\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

  • 设置堆栈可执行
  • 关闭地址随机化
    884676-20170308211105656-111654304.png

884676-20170308211948938-1340853216.png

884676-20170312210902639-804550711.png

884676-20170312210924514-712025304.png

884676-20170312210940779-1275853012.png

884676-20170312210952529-2034499941.png

884676-20170312210915201-321367968.png

Return-to-libc攻击深入

缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode。为了阻止这种类型的攻击,一些操作系统使得系统管理员具有使栈不可执行的能力。这样的话,一旦程序执行存放在栈中的 shellcode 就会崩溃,从而阻止了攻击。

不幸的是上面的保护方式并不是完全有效的,现在存在一种缓冲区溢出的变体攻击,叫做 return-to-libc 攻击。这种攻击不需要一个栈可以执行,甚至不需要一个 shellcode。取而代之的是我们让漏洞程序调转到现存的代码(比如已经载入内存的 libc 库中的 system()函数等)来实现我们的攻击。

操作过程实验楼已经说得很清楚了
884676-20170315222454713-1438836365.png

884676-20170315222513995-2143143236.png

884676-20170315222524229-1875437938.png

884676-20170315222535291-1399046794.png

884676-20170315222542432-1749133178.png

转载于:https://www.cnblogs.com/20145327gc/p/6523280.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值