unix缓冲区溢出实现攻击原理
我想攻击unix,每每都用到个溢出,所以有必要讲讲缓冲区溢出啦!
缓冲区溢出的实质是希望通过控制程序的执行顺序,来获得root或其他权限,从而控制系统!
缓冲区是程序运行时计算机内存中的一个连续的快,他保存了给定类型的数据。但问题随着动态的分配变量而出现,为了不占用太多内存,一个有动态分配变量的程序在运行使,才决定给它们多少内存。如果程序在分配的内存里放入太多的数据,就会使程序溢出了。
普通的溢出,并不会产生安全问题,只由当溢出送到能够以root权限运行命令时,才会出现安全问题!这, 我们就可以以root权限控制它了! 我们所说的溢出分两种, 远程溢出 和 本地溢出
远程溢出: 主要是使远程主机提供的某种服务,使其溢出到root的权限,这取决于目前运行服务程序。
可以被远程溢出攻击的服务程序有 ttdb, cmsd,s admind, Qpop, imap. amd, lpd。 windows 下大家也常见的,*.idq, *idq的远程溢出也是大同小异。
本地溢出: 不用说大家都知道了吧!就是用本地的服务溢出啦。
光说不练就不好,我说上有一台mandrake7,2的主机,我只有他的一个普通用户,我就找啊找,哈,找到! *
--------------------epcs2.c---------------------------------
* epcs2 (improved by lst [liquid@dqc.org])
* ~~~~~~~
* exploit for execve/ptrace race condition in Linux kernel up to 2.2.18
*
* originally by:
* (c) 2001 Wojciech Purczynski / cliph / <wp@elzabsoft.pl>
*
* improved by:
* lst [liquid@dqc.org]
*
* This sploit does _not_ use brute force. It does not need that.
* It does only one attemt to sploit the race condition in execve.
* Parent process waits for a context-switch that occur after
* child task sleep in execve.
*
* It should work even on openwall-patched kernels (I haven't tested it).
*
* Compile it:
* cc epcs.c -o epcs
* Usage:
* ./epcs [victim]
.............好多哦!
------------------------cut here --------------------------------------
你就可以
cat > epsc2.c
鼠标右键, 然后 ctrl + D,
再后来,就 gcc -o epsc2 epsc2.c

好玩吧!





