Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-43343 — (CVE-2022-43343) के लिए अवधारणा प्रमाण | Kitploit
उपकरण/GitHubGitHub/halcy0nic/cve-2022-43343
भेद्यता विश्लेषणशोषणडीबगर्सफज़िंगलर्निंग और शिक्षाबाइनरी शोषण
GitHubhalcy0nic/cve-2022-43343

CVE-2022-43343

(CVE-2022-43343) के लिए अवधारणा प्रमाण

रिपॉजिटरी देखें
1193 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2022-43343 के लिए विवरण

N-Prolog v1.91 में Main.c में स्थित gettoken() फ़ंक्शन में एक ग्लोबल बफर ओवरफ्लो भेद्यता पाई गई।

पुनरुत्पादन

भेद्यता को पुनरुत्पादित करने के लिए, N-Prolog का एक भेद्य संस्करण (v1.91) डाउनलोड करें और प्रोजेक्ट को संकलित करें:

git clone https://github.com/sasagawa888/nprolog.git
cd nprolog
git checkout ae7cc9bf6087cfcb57baadbe59f5005c6dc0f09c
make

प्रोजेक्ट संकलित हो जाने के बाद, हम N-Prolog को इस रिपॉजिटरी में शामिल अपनी प्रूफ ऑफ कॉन्सेप्ट फ़ाइल (CVE-2022-43343_crash) की ओर इंगित कर सकते हैं:

./npl -s CVE-2022-43343_crash

पिछला कमांड एक क्रैश उत्पन्न करेगा और एक त्रुटि संदेश लौटाएगा:

segmentation fault  ./npl -s CVE-2022-43343_crash

क्रैश कहाँ हो रहा है, इसकी बेहतर समझ पाने के लिए, आइए प्रोजेक्ट को एड्रेस सैनिटाइज़र (ASAN) के साथ पुनः संकलित करें, Makefile में CFLAGS और LIBS वेरिएबल में -fsanitize=address जोड़कर। हम यह भी चाहते हैं कि कंपाइलर निष्पादन योग्य में सिंबल टेबल जानकारी (-g फ़्लैग) संग्रहीत करे, ताकि यह निर्धारित करने में मदद मिले कि किस कोड पंक्ति ने क्रैश उत्पन्न किया:

CC   = gcc
LIBS = -lm -ldl -fsanitize=address


LIBSRASPI = -lm -ldl -lwiringPi -fsanitize=address -g
INCS =  
CFLAGS = $(INCS) -Wall -O3 -fsanitize=address
DEST = /usr/local/bin

अगला, हम किसी भी पुरानी फ़ाइल को साफ़ करेंगे और प्रोजेक्ट को पुनः संकलित करेंगे:

make clean
make

दुर्भावनापूर्ण फ़ाइल के विरुद्ध स्क्रिप्ट मोड में npl निष्पादित करें:

./npl -s CVE-2022-43343_crash

ASAN, फ़ंक्शन gettoken() parser.c की पंक्ति 1022 पर में एक ग्लोबल वेरिएबल में size 1 का अमान्य लेखन रिपोर्ट करता है:

==291696==ERROR: AddressSanitizer: global-buffer-overflow on address 0x56107f6d54b0 at pc 0x56107f651925 bp 0x7ffc7a408e10 sp 0x7ffc7a408e08
WRITE of size 1 at 0x56107f6d54b0 thread T0
    #0 0x56107f651924 in gettoken /dev/shm/nprolog/parser.c:1022
    #1 0x56107f656924 in parser /dev/shm/nprolog/parser.c:40
    #2 0x56107f6624ca in b_consult /dev/shm/nprolog/builtin.c:1561
    #3 0x56107f642d72 in main /dev/shm/nprolog/main.c:276
    #4 0x7f8c85646189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #5 0x7f8c85646244 in __libc_start_main_impl ../csu/libc-start.c:381
    #6 0x56107f6432c0 in _start (/dev/shm/nprolog/npl+0x162c0)

0x56107f6d54b0 is located 48 bytes to the left of global variable 'record_pt' defined in 'main.c:24:5' (0x56107f6d54e0) of size 4
0x56107f6d54b0 is located 0 bytes to the right of global variable 'stok' defined in 'main.c:27:7' (0x56107f6d53a0) of size 272
SUMMARY: AddressSanitizer: global-buffer-overflow /dev/shm/nprolog/parser.c:1022 in gettoken
Shadow bytes around the buggy address:
  0x0ac28fed2a40: f9 f9 f9 f9 04 f9 f9 f9 f9 f9 f9 f9 04 f9 f9 f9
  0x0ac28fed2a50: f9 f9 f9 f9 04 f9 f9 f9 f9 f9 f9 f9 04 f9 f9 f9
  0x0ac28fed2a60: f9 f9 f9 f9 04 f9 f9 f9 f9 f9 f9 f9 04 f9 f9 f9
  0x0ac28fed2a70: f9 f9 f9 f9 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ac28fed2a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0ac28fed2a90: 00 00 00 00 00 00[f9]f9 f9 f9 f9 f9 04 f9 f9 f9
  0x0ac28fed2aa0: f9 f9 f9 f9 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ac28fed2ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ac28fed2ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ac28fed2ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ac28fed2ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==291696==ABORTING

संदर्भ

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-43343
  • https://learn.microsoft.com/en-us/cpp/sanitizers/error-global-buffer-overflow?view=msvc-170
टूल डाउनलोड करें