网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络安全首页 | 安全在线 | 病毒防治 | 黑客攻防 | 漏洞研究 | 黑客编程 | 破解手记 |
您现在的位置: 超人气学院 >> 网络安全 >> 漏洞研究 >> 文章正文 用户登录 新用户注册
溢出专题(六) 利用结构异常绕过溢出保护攻击           
溢出专题(六) 利用结构异常绕过溢出保护攻击
作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:06:31
像溢出攻击,虽然已经是发展了那么多年了,但其shellcode编写也差不多是那么
一个模式。写出汇编,编译,得到二进制代码,修改汇编,编译,再得到二进制代码,
最后用\xaa\xbb的形式把二进制代码写到攻击程序里面。这在unix等下面一般
shellcode要求比较简单,那还勉强过得去,但如果应用限制,shellcode代码不能包含
一些特殊字符那又是一个麻烦的调试、修改过程。还有溢出攻击的溢出点、怎么跳到
shellcode,虽然unix下面已经比较多的办法了,但感觉也没怎么统一的考虑过,很多
人也没有去理解溢出攻击。还有溢出过程形参被覆盖后不能返回的情况,也没怎么仔细
考虑。

  个人的理解溢出攻击只是通过外部条进改变了程序原来流程,而考虑改变程序流程
的办法就不只是溢出了,溢出攻击只是一个比较容易让程序流程改变并且按我们意愿运
行的比较方便的办法,还有一些边界条进,函数指针等都可能引起程序流程改变。像缓
冲溢出覆盖形式参数不能返回的问题,我们攻击是改变的程序流程,这个流程方向不能
返回了,那到底有别的流程没有?就可以考虑程序流程的别的线。这点unix下面有信号
机制,WINDOWS下面也有异常结构处理,这些都是程序运行的另一个隐蔽的流程。想到
这了就可以有解决办法了。
  其实UNIX等下面发展的比较好的一些保护缓冲溢出的办法很多也相应有了一些破解
思路。像堆栈里面加上随机数等的办法,就是检测溢出后不让其返回到溢出代码,这与
形参被覆盖不能返回不就是一样的吗。这在windows下面就很好的可以绕过了,UNIX没
有具体看代码,还没有实现细节。

   下面程序有溢出,但因为检测了变量j,发现有溢出就提示后退出,用于模拟一些溢
出保护或者因形参被覆盖不能返回的情况。对于这个程序我们一般的溢出攻击就不能成
功。

/*
  利用异常结构绕过溢出保护攻击的有问题的例子程序except.c。
  vc6.0下编译。
  yuange@nsfocus.com

*/
#include
#include
#include

int main(int argc, char **argv)
{
 int  j;
 char *str;
 char buff1[0x0f80];
 char buff2[0x1000];
 struct sockaddr_in   s_in;
 struct sockaddr      addr;
 SOCKET               fd ,fd1;
 u_short              port;
 int                  result,i,recvbytes;
 WSADATA              wsaData;

 result = WSAStartup(MAKEWORD(1, 1), &wsaData);
 if (result != 0) {
 printf("\n SOCKET err!\n ");
 exit(1);
 }
 j=0;
 str=argv[0];
 if(argc>1) port=atoi(argv[1]);
 else port=1080;
 fd = socket(AF_INET, SOCK_STREAM,0);
 s_in.sin_family = AF_INET;
 s_in.sin_port = htons(port);
 s_in.sin

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     溯雪破解信箱教程[3483]
     Microsoft IE漏洞补丁[1304]
     discuz!论坛漏洞利用[1051]
     IIS5.0 WebDAV远程溢出[676]
     DISCUZ漏洞与提升权限[589]
     江湖系列漏洞[520]
    相 关 文 章
    专题研究课题
    RPC溢出漏洞(MS03-26)已
    溢出专题(二) widechar
    Windows 2000缓冲区溢出
    window系统下的远程堆栈溢
    windows下强大功能的溢出程
    如何编写自己的缓冲区溢出
    MS04-011远程缓冲区溢出代
    IIS5_IDQ命令行溢出程序源
    Foxmail5远程缓冲区溢出漏
    自己写溢出的基础,溢出原
    溢出代码:Ethereal 0.10.0
    Imail iLDAP溢出分析
    system()在溢出中的利用
    IPSwitch IMail 8.13 删除
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)