缓冲区溢出攻击及其防范实例

2024-10-13 21:56:07

1.实验环境

实验环境如图5-21所示。

入侵者(192.168.1.20):对192.168.1.2028进行缓冲区溢出攻击。

被入侵者(192.168.1.2028):是开启DNS服务的所有版本的Windows 2000 Server或Windows2003 Server SP1,在本次测试中使用Windows 2003 Server SP1。

缓冲区溢出攻击及其防范实例

图执行dns.exe命令

第2步:寻找漏洞。执行dns.exe -s 192.168.1.2028命令,对主机进行扫描,如图5-23所示,显示出被入侵主机(192.168.1.2028)开放的端口以及操作系统,最主要的是显示“1047:Vulnerability”,意思就是1047端口存在漏洞。缓冲区溢出攻击及其防范实例

第4步:成功入侵。如图5-25所示,执行telnet192.168.1.2028 1100命令,结果如图5-26所示,我们现在已经成功的入侵了对方的电脑,并且得到了管理员的权限。

第5步:如图5-27所示,在已经成功入侵的电脑上执行简单的操作。

缓冲区溢出攻击及其防范实例缓冲区溢出攻击及其防范实例缓冲区溢出攻击及其防范实例

3.缓冲区溢出攻击的防范措施

(1)关闭不需要的特权程序。

(2)及时给系统和服务程序漏洞打补丁。

(3)强制写正确的代码。

(4)通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码。

(5)利用编译器的边界检查来实现缓冲区的保护,这个方法使得缓冲区溢出不可能出现,从而完全消除了缓冲区溢出的威胁,但是代价比较大。

(6)在程序指针失效前进行完整性检查。

(7)改进系统内部安全机制。

猜你喜欢