Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
w48crash — webmod v0.48의 취약점에 대한 PoC 코드입니다. 원래 2007년에 작성되었으며, CVE-2007-1260으로 지정되었습니다. | Kitploit
도구/GitHubGitHub/thecybermind/w48crash
Vulnerability AnalysisExploitationShellcodePenetration TestingRemote Access ToolBinary Exploitation
GitHubthecybermind/w48crash

w48crash

webmod v0.48의 취약점에 대한 PoC 코드입니다. 원래 2007년에 작성되었으며, CVE-2007-1260으로 지정되었습니다.

저장소 보기
11년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

WebMod 스택 버퍼 오버플로 CVE-2007-1260

작성: cybermind (Kevin Masterson)
[email protected]

WebMod 사이트 (아카이브): https://web.archive.org/web/20080517044559/http://djeyl.net/w.php

취약한 버전:
0.48, Win32 및 Linux 모두. 이전 버전도 취약할 수 있습니다. 이것은 HLDS의 모든 버전에서 작동합니다.

취약점 유형:
DoS, HLDS가 실행 중인 사용자 권한 하의 원격 코드 실행.

설명: HTTP POST 요청을 수신하면 Content-Length 값을 저장하기 위해 스택에 11바이트를 할당하지만, 개행 문자나 널 종결자를 받을 때까지 해당 버퍼에 씁니다. Content-Length 문자열이 158308바이트에 도달하면 EIP를 덮어쓰기 시작합니다. 이 숫자는 패딩으로 인해 Linux에서는 약간 다를 수 있습니다. 셸코드에 0x00, 0x0A, 0x0D가 포함되면 안 됩니다. 그렇지 않으면 소켓에서 데이터 읽기를 중단합니다.

이것은 셸코드를 실행하는 데 도움이 될 수 있습니다:

  • Win32의 경우:
    w_mm.dll v0.48의 0x67E03C5B에 "FF E4" (jmp esp)가 있습니다.
  • Linux의 경우:
    metamod_i386.so v1.19의 오프셋 0x0008835C에 "FF E4" (jmp esp)가 있습니다.

개념 증명 코드:
w48crash.c
참고: PoC에 사용된 "shellcode"는 Win2K SP4/kernel32.dll/user32.dll v5.0.2195.6688에서 실행되는 서버에서 작동하도록 특별히 하드코딩되어 있습니다. 그러나 실제 버퍼 오버플로는 모든 Windows 버전에서 그대로 작동합니다. 이를 테스트하려면 "our_eip" 전역 변수를 0xFFFFFFFF로 설정하여 단순히 크래시를 일으키면 됩니다.

원인/수정:
문제 코드는 server.cpp의 542-552행에 있습니다:

root@kitploit:~
542        char clbuf[11];
543
544        for(i=0;(size_t)i<strlen(input)-17;i++)
545        {
546            if(!strnicmp(input+i,"\nContent-Length: ",17))
547            {
548 LOG_DBG_SERVER(("Content-length spotted"));
549                i+=17;
550                for(j=0;input[i]!='\n'&&input;[i];i++,j++)
551                    clbuf[j]=input[i];
552                clbuf[j]='\0';

542행에서 할당된 버퍼 clbuf는 550-551행의 루프로 값이 쓰여진 뒤 널 종결됩니다. 수정 방법은 550행을 다음으로 바꾸는 것입니다:

root@kitploit:~
550                for(j=0;input[i]!='\n'&&input[i]&&j<10;i++,j++)
도구 다운로드