-2

GHOST や CVE-2015-0235 の脆弱性について調べています。私のシステムが脆弱であることがわかりました。この効果を確認するために、テスト プログラムを作成します。しかし、何も見えません。聞くのは私の試みです:

    user@debian:~$ uname -a 
    Linux debian 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3 i686 GNU/Linux
    user@debian:~$ ./GHOST
    vulnerable
    user@debian:~$ cat ghost-example.c 
    #include <string.h>
    #include <stdio.h>
    #define len 2000000

    struct{
    char buf[len];
    char canary[32];
    }buffer;

    void main()
    {
        memset(buffer.buf,'9',len);
        buffer.buf[len-1]='\0';
        strcpy(buffer.canary,"the vulnerable part of program\n");
        gethostbyname(buffer.buf);
        printf(buffer.canary);
    }
    user@debian:~$ gcc ghost-example.c -o ghost-example
    user@debian:~$ ./ghost-example 
    the vulnerable part of program

何が起こるかわかりませんか?gethostbyname() 、gethostbyname_r()、gethostbyname2() または gethostbyname2_r の違いは何ですか。私はこれについて多くの研究をしています。誰でも私を助けることができますか?ありがとう。

4

1 に答える 1