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

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

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

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

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

श्रेणियाँ

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

CVE-2023-40294-and-CVE-2023-40295

CVE-2023-40294 और CVE-2023-40295 के लिए अवधारणा का प्रमाण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
2133 साल पहलेअभी तक समीक्षित नहीं

जब मैं अपने वातावरण में boron चला रहा था, तो थोड़े विकृत इनपुट को संसाधित करते समय मुझे libboron (libboron.so.2 संस्करण 2.0.8) में 2 heap buffer overflows मिले। यह आधिकारिक रूप से Mac (x86_64) और Linux (x86_64) दोनों पर परीक्षण किया गया है:

पुनरुत्पादन के लिए फ़ाइलें

reproduction.zip

संकलन```

git clone https://github.com/0branch/boron.git cd boron ./configure && make sudo make install && sudo ldconfig

## (CVE-2023-40294) i_parse_blk.c पर ur_parseBlockI में हीप बफर ओवरफ्लो:

https://github.com/0branch/boron/blob/e98ed6cbc7911cf31a6e4ac8a0b00fd7c224e807/urlan/i_parse_blk.c#L21


सबसे पहले, मैंने उस फ़ाइल पर boron चलाया जिसने क्रैश उत्पन्न किया:```
$ ./boron ur_parseBlockI_overflow.b 
malloc(): invalid size (unsorted)
zsh: IOT instruction  ./boron ur_parseBlockI_overflow.b

आउटपुट से मुझे विश्वास हुआ कि अनसॉर्टेड बिन में हीप ओवरफ्लो के कारण हीप चंक दूषित हो रहा था, इसलिए मैंने इसकी पुष्टि के लिए प्रोजेक्ट को address sanitizer और debug symbols के साथ कंपाइल किया:

Makefile```

Boron Makefile for UNIX systems.

VER=2.0.8

DESTDIR ?= /usr/local BIN_DIR=$(DESTDIR)/bin LIB_DIR=$(DESTDIR)/lib INC_DIR=$(DESTDIR)/include/boron MAN_DIR=$(DESTDIR)/share/man/man1 VIM_DIR=$(DESTDIR)/share/vim/vimfiles/syntax

OS := $(shell uname)

CFLAGS = -pipe -pedantic -Wall -W -Iinclude -Iurlan -Ieval -Isupport -g -fsanitize=address -DDEBUG #CFLAGS += -O3 -DNDEBUG #CFLAGS += -g -DDEBUG

ifeq ($(OS), Darwin) CFLAGS += -std=c99 AR_LIB = libtool -static -o else CFLAGS += -std=gnu99 -fPIC AR_LIB = ar rc ifneq (,$(wildcard /usr/lib64/libc.so)) LIB_DIR=$(DESTDIR)/lib64 else ifneq (,$(wildcard /usr/lib/x86_64-linux-gnu/.)) LIB_DIR=$(DESTDIR)/lib/x86_64-linux-gnu endif endif

CONFIG := $(shell cat config.opt) ifneq (,$(findstring _STATIC,$(CONFIG))) STATIC_LIB = true endif

LIBS := -lm

ODIR = .obj OBJ_FN = env.o array.o binary.o block.o coord.o date.o path.o
string.o context.o gc.o serialize.o tokenize.o
vector.o parse_block.o parse_string.o OBJ_FN += str.o mem_util.o quickSortIndex.o fpconv.o OBJ_FN += os.o boron.o port_file.o wait.o ifneq (,$(findstring _HASHMAP,$(CONFIG))) OBJ_FN += hashmap.o endif ifneq (,$(findstring _RANDOM,$(CONFIG))) OBJ_FN += well512.o random.o endif ifneq (,$(findstring _SOCKET,$(CONFIG))) OBJ_FN += port_socket.o endif ifneq (,$(findstring _THREAD,$(CONFIG))) OBJ_FN += port_thread.o ifeq ($(OS), Linux) LIBS += -lpthread endif endif LIB_OBJS = $(addprefix $(ODIR)/,$(OBJ_FN))

MAIN_FN = main.o ifneq (,$(findstring _LINENOISE,$(CONFIG))) MAIN_FN += linenoise.o else EXE_LIBS += -lreadline -lhistory endif ifneq (,$(findstring _COMPRESS=1,$(CONFIG))) LIBS += -lz endif ifneq (,$(findstring _COMPRESS=2,$(CONFIG))) LIBS += -lbz2 endif EXE_OBJS = $(addprefix $(ODIR)/,$(MAIN_FN))

ifdef STATIC_LIB BORON_LIB = libboron.a EXE_LIBS += $(LIBS) else ifeq ($(OS), Darwin) BORON_LIB = libboron.dylib else BORON_LIB = libboron.so.$(VER) endif

$(ODIR)/%.o: urlan/%.c cc -c $(CFLAGS) $(CONFIG) $< -o $@ $(ODIR)/%.o: support/%.c cc -c $(CFLAGS) $(CONFIG) $< -o $@ $(ODIR)/%.o: eval/%.c cc -c $(CFLAGS) $(CONFIG) $< -o $@

boron: $(EXE_OBJS) $(BORON_LIB) cc $^ -o $@ $(EXE_LIBS) -g -fsanitize=address

$(ODIR)/os.o: unix/os.c cc -c $(CFLAGS) $(CONFIG) $< -o $@

$(EXE_OBJS): | $(ODIR) $(LIB_OBJS): | $(ODIR) $(ODIR): mkdir -p $@

$(BORON_LIB): $(LIB_OBJS) ifdef STATIC_LIB $(AR_LIB) $@ $^ ranlib $@ else ifeq ($(OS), Darwin) libtool -dynamiclib -o $@ $^ -install_name @rpath/$(BORON_LIB) $(LIBS) else cc -o $@ -shared -g -fsanitize=address -Wl,-soname,libboron.so.2 $^ $(LIBS) ln -sf $(BORON_LIB) libboron.so.2 ln -sf $(BORON_LIB) libboron.so endif

.PHONY: clean install uninstall install-dev uninstall-dev

clean: rm -f boron $(BORON_LIB) $(LIB_OBJS) $(EXE_OBJS) ifndef STATIC_LIB rm -f libboron.so* endif rmdir $(ODIR)

install: mkdir -p $(BIN_DIR) $(LIB_DIR) $(MAN_DIR) ifndef STATIC_LIB ifeq ($(OS), Darwin) install_name_tool -id $(LIB_DIR)/libboron.dylib libboron.dylib install_name_tool -change libboron.dylib $(LIB_DIR)/libboron.dylib boron install -m 644 libboron.dylib $(LIB_DIR) else install -m 755 -s $(BORON_LIB) $(LIB_DIR) ln -s $(BORON_LIB) $(LIB_DIR)/libboron.so.2 endif endif install -s -m 755 boron $(BIN_DIR) gzip -c -n doc/boron.troff > doc/boron.1.gz install -m 644 doc/boron.1.gz $(MAN_DIR)

uninstall: rm -f $(BIN_DIR)/boron $(MAN_DIR)/boron.1 ifndef STATIC_LIB rm -f $(LIB_DIR)/$(BORON_LIB) ifneq ($(OS), Darwin) rm -f $(LIB_DIR)/libboron.so.2 endif endif

install-dev: mkdir -p $(INC_DIR) $(LIB_DIR) sed -e 's~"urlan.h"<boron/urlan.h>' include/boron.h >boron.tmp install -m 644 boron.tmp $(INC_DIR)/boron.h rm boron.tmp install -m 644 include/urlan.h $(INC_DIR) install -m 644 include/urlan_atoms.h $(INC_DIR)

install -m 755 scripts/copr.b $(BIN_DIR)/copr

ifdef STATIC_LIB install -m 644 $(BORON_LIB) $(LIB_DIR) endif ifneq ($(OS), Darwin) mkdir -p $(VIM_DIR) install -m 644 doc/boron.vim $(VIM_DIR) ifndef STATIC_LIB ln -s $(BORON_LIB) $(LIB_DIR)/libboron.so endif endif

uninstall-dev: ifdef STATIC_LIB rm -f $(LIB_DIR)/$(BORON_LIB) endif ifneq ($(OS), Darwin) ifndef STATIC_LIB rm -f $(LIB_DIR)/libboron.so endif rm -f $(VIM_DIR)/boron.vim endif

rm -f $(BIN_DIR)/copr

rm -f $(INC_DIR)/boron.h $(INC_DIR)/urlan.h $(INC_DIR)/urlan_atoms.h
rmdir $(INC_DIR)
boron को ur_parseBlockI_overflow.b के विरुद्ध दूसरी बार चलाने पर ASAN से निम्नलिखित आउटपुट प्राप्त होता है, जो हीप बफर ओवरफ्लो की पुष्टि करता है:
टूल डाउनलोड करें