黑客渗透测试笔记之溢出攻击

溢出攻击:

什么是溢出攻击?
溢出攻击,就是意外的数据写入。
溢出分类:
按照溢出特点,分为本机溢出和远程溢出。常见溢出攻击:sql溢出、iis溢出。两种溢出的基本原理:内存溢出和缓冲区溢出。

0x01:

内存溢出:
内存溢出为啥会发生在c/c++?
1.语言缺陷:这两种语言不会检查数组的边界。
2.c++开发出来的程序非常的接近内核,弄够直接访问内存和寄存器。
我们举个列子:
char sy[32];
char hh[10];
sy=[“sds”,“eeff”,“weew”];
strcpy(hh,sy)
我们可以看出sy数组的长度是32,sy这个参数他并不在乎数据的来源,以及数据的可靠性。如果数据来自一个文件等其他不可靠的数据时。数据的大小超过了32个长度。呢么就会导致内存缓冲区溢出。溢出的字符就会代替内存缓冲区后面的数据。
缓冲区溢出:
缓冲区溢出是用户为程序运行时候在计算机中申请的一段连续的内容,他保存了给定类型的数据。
溢出攻击的前提是机器上没有打过补丁。(溢出程序所在的目录:c:\windows\temp)。

0x02:

远程溢出:
在了解远程溢出之前我们先了解一下RPC:
即远程过程调用协议的缩写,它是一种进程间通信(ipc)方法,客户端和服务器可使用这种方法进行相互之间的通信。简单的说,rpc可被程序(通常是客户端计算机上的程序)用来执行服务器上的程序,并且rpc服务设计到两个重要的端口,那就是135和445端口。
如果目标没有开放这两个端口,并且存在防火墙拦截的话,溢出攻击是不会成功的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值