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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Damn_Vulnerable_C_Program — 일반적인 유형의 취약점에 대한 취약한 코드가 포함된 예제 C 프로그램입니다. 퍼징 개념을 보여주는 데 사용할 수 있습니다. | Kitploit
도구/GitHubGitHub/hardik05/damn_vulnerable_c_program
Vulnerability AnalysisFuzzingLearning & EducationLabs & Practice
GitHubhardik05/damn_vulnerable_c_program

Damn_Vulnerable_C_Program

일반적인 유형의 취약점에 대한 취약한 코드가 포함된 예제 C 프로그램입니다. 퍼징 개념을 보여주는 데 사용할 수 있습니다.

저장소 보기
72618841년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

참고: 파일 이름이 imgRead.c에서 dvcp.c로 변경되었습니다. 동영상을 보고 있다면 imgRead.c가 보이겠지만 GitHub 저장소에는 dvcp.c가 있습니다. 올바른 파일 이름을 사용하세요.

Damn Vulnerable C Program(DVCP)

Twitter Follow

내 YouTube 채널: https://www.youtube.com/user/MrHardik05/featured?view_as=subscriber

이것은 무엇인가?

이것은 제가 일반적인 유형의 취약점을 설명하기 위해 작성한 간단한 C 프로그램입니다:

  1. 정수 오버플로우
  2. 정수 언더플로우
  3. 범위 밖 읽기
  4. 범위 밖 쓰기
  5. 이중 해제
  6. 해제 후 사용
  7. 메모리 누수
  8. 스택 고갈
  9. 힙 고갈

이 C 프로그램에는 위의 모든 취약점에 대한 취약한 코드가 포함되어 있으며, AFL, libafl, libfuzzer, hongfuzz, winafl, jackalope 또는 원하는 다른 퍼저를 사용하여 퍼징할 수 있습니다.

컴파일 방법

명령 프롬프트에 "make"라고 입력하기만 하면 됩니다. Makefile이 함께 포함되어 있습니다.

AFL용 입력을 생성하는 방법?

다음과 같이 샘플 입력 파일을 생성하기만 하면 나머지는 AFL이 처리합니다:

echo "IMG" >input/1.txt

AFL은 자동으로 새로운 테스트 케이스를 생성하고 위에서 언급한 대부분의 취약점을 발견합니다. 이것이 AFL의 매력입니다 :)

AFL로 퍼징하는 방법?

1. 먼저 다음 명령어로 이 프로그램을 컴파일하세요:

afl-gcc -g -fsanitize=address dvcp.c -o dvcp

2. 다음 명령어를 실행하세요:

afl-fuzz -i input -o output -m none -- ./dvcp @@

honggfuzz로 퍼징하는 방법

1. 먼저 다음 명령어로 이 프로그램을 컴파일하세요:

hfuzz-gcc -g -fsanitize=address dvcp.c -o dvcp

2. 다음 명령어를 실행하세요:

hongfuzz -i input -- ./dvcp ___FILE___

libfuzzer로 퍼징하는 방법

C 코드를 수정해야 합니다. 업데이트된 코드는 여기에서 받을 수 있습니다: https://github.com/hardik05/Damn_Vulnerable_C_Program/blob/master/dvcp_libfuzzer.c

1. 다음 명령어로 프로그램을 컴파일하세요:

clang -fsanitize=fuzzer,address,undefined -g dvcp_libfuzzer.c -o dvcp_libfuzzer

2. 퍼징하려면 다음 명령어를 실행하세요:

./dvcp_libfuzzer

비디오 튜토리얼은 여기에서 볼 수 있습니다:

전체 퍼징 재생목록:

https://www.youtube.com/watch?v=r7ucv2kN4j4&list=PLHGgqcJIME5kYhOSdJjvtVS4b4_OXDqM-

아래는 개별 영상입니다:

리눅스

LibAFL

[libAFL로 퍼징하기]시스템에 libAFL을 설치하는 방법과 다양한 구성 요소는 무엇인가? -> https://www.youtube.com/watch?v=ztGfxbvcrms

[libAFL로 퍼징하기]libAFL ForkSever 소개, libAFL forkserver 퍼저 실행하기. -> https://www.youtube.com/watch?v=Ed1anYoGTyA

[libAFL로 퍼징하기]libAFL forkserver 퍼저로 Damn Vulnerable C Program 퍼징하기 -> https://www.youtube.com/watch?v=ad_4zroiS_g

[libAFL로 퍼징하기] libAFL forkserver 퍼저와 함께 공유 메모리 모드 사용하기 -> https://www.youtube.com/watch?v=GXD_qkISyfY

AFL++

[AFL++로 퍼징하기] AFL++ 설치 및 간단한 C 프로그램 퍼징하기 -> https://www.youtube.com/watch?v=9wRVo0kYSlc

[AFL++로 퍼징하기] 리눅스에서 소스 코드가 없는 바이너리를 persistent 모드로 퍼징하는 방법 -> https://www.youtube.com/watch?v=LGPJdEO02p4

AFL

[AFL로 퍼징하기] Ubuntu에 AFL을 설치하는 방법-> https://www.youtube.com/watch?v=r7ucv2kN4j4

[AFL로 퍼징하기] AFL로 간단한 C 프로그램 퍼징하기 -> https://www.youtube.com/watch?v=NiGC1jxFx78&t=66s

[AFL로 퍼징하기] AFL로 다양한 유형의 취약점 찾기 -> https://www.youtube.com/watch?v=m1RkShHzx_8&t=151s

[AFL로 퍼징하기] crashwalk로 크래시를 분류하고 GDB로 근본 원인 찾기 -> https://www.youtube.com/watch?v=5R2gPkCXZkM

[AFL로 퍼징하기] Qemu 모드에서 소스 코드가 없는 바이너리를 AFL로 퍼징하기.-> https://www.youtube.com/watch?v=np3sLLFQs6I

Honggfuzz

[honggfuzz로 퍼징하기] HongFuzz로 간단한 C 프로그램 퍼징하기 -> https://www.youtube.com/watch?v=6OBXJtEe-d8

[honggfuzz로 퍼징하기] Hongfuzz,checksec(pwntools),ASAN -> https://www.youtube.com/watch?v=Lr8pLQRTHac

Libfuzzer

[libfuzzer로 퍼징하기] LibFuzzer를 사용하여 간단한 C 프로그램을 퍼징하는 방법 -> https://www.youtube.com/watch?v=hFva8kJQwnc&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp

[libfuzzer,AFL로 퍼징하기] AFL을 사용하여 libfuzzer 하니스 프로그램을 퍼징하는 방법 -> https://www.youtube.com/watch?v=HfEqm3TrfwM&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp&index=2

OpenSSL 취약점 CVE-2022-3602 및 CVE-2022-3786을 재현하고 libfuzzer를 사용하는 방법 -> https://www.youtube.com/watch?v=vhTuXph1dtY

Radamsa

[Radamsa로 퍼징하기] Radamsa로 간단한 C 프로그램 퍼징하기 -> https://youtu.be/1FRsXVNpynQ

윈도우

WinAFL

[WinAFL로 퍼징하기] WinAFL로 간단한 C 프로그램 퍼징하기 -> https://www.youtube.com/watch?v=Va_Wtxf3DMc

[WinAFL로 퍼징하기] 퍼징 함수란 무엇이며, 모든 것이 제대로 작동하는지 확인하는 방법은? -> https://www.youtube.com/watch?v=HLORLsNnPzo

winafl로 퍼징할 더 많은 윈도우 하니스가 필요합니다

물론이죠, 여기를 확인하세요 -> https://github.com/hardik05/winafl-harness

winafl 기본 뮤테이터와는 다른 무언가를 시도해보고 싶습니다..

네, 이것을 시도해볼 수 있습니다 -> https://github.com/hardik05/winafl-powermopt

제가 만들면서 더 많은 것을 업로드하겠습니다.

Google의 OSS-Fuzz

OSS-Fuzz 작동 방식: 오픈 소스 프로젝트를 위한 퍼즈 테스트 가이드 -> https://www.youtube.com/watch?v=OBxCDsJ-0aM

왜 이것을 만들었나요?

다양한 유형의 취약점을 이해하는 것은 신입자와 경험자 모두에게 많은 시간이 걸립니다. 저도 이 문제를 직접 겪었고 배운 것을 공유하기로 결정했습니다.

이것에서 무언가를 배웠다면 감사 인사를 보내주세요. 그것이 제가 필요한 전부입니다. 또한 개선하거나 수정하고 싶은 것이 있다면 PR을 환영합니다!

작성자는?

트위터: https://twitter.com/hardik05

이메일: 트위터에서 DM 보내주세요 :)

웹: http://hardik05.wordpress.com

피드백?

제안과 의견은 언제나 환영합니다. 문제를 발견하거나 수정 사항 또는 새로운 기능이 있다면 풀 리퀘스트를 보내주세요.

Star History

Star History Chart

도구 다운로드