From 57178ffdb66447f1eda9a3bc1ae70f17ddca99a5 Mon Sep 17 00:00:00 2001 From: DomySh Date: Wed, 22 Jun 2022 01:44:25 +0200 Subject: [PATCH] Fixed null byte match --- Dockerfile.fullcompile | 2 +- backend/proxy/proxy.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.fullcompile b/Dockerfile.fullcompile index 5f5f151..fd467ea 100755 --- a/Dockerfile.fullcompile +++ b/Dockerfile.fullcompile @@ -27,7 +27,7 @@ ADD ./backend/requirements.txt /execute/requirements.txt RUN pip install --no-cache-dir -r /execute/requirements.txt COPY ./backend/ /execute/ -RUN c++ -O3 -o proxy/proxy proxy/proxy.cpp -pthread -lboost_system -lboost_regex +RUN c++ -O3 -o proxy/proxy proxy/proxy.cpp -pthread -lboost_system COPY ./config/supervisord.conf /etc/supervisor/supervisord.conf COPY ./config/nginx.conf /tmp/nginx.conf COPY ./config/start_nginx.sh /tmp/start_nginx.sh diff --git a/backend/proxy/proxy.cpp b/backend/proxy/proxy.cpp index 8b19c9f..367c6e4 100644 --- a/backend/proxy/proxy.cpp +++ b/backend/proxy/proxy.cpp @@ -53,7 +53,7 @@ bool filter_data(unsigned char* data, const size_t& bytes_transferred, vector ele:blacklist){ cmatch what; try{ - regex_search(reinterpret_cast(data), what, ele.second); + regex_search(reinterpret_cast(data), reinterpret_cast(data)+bytes_transferred, what, ele.second); if(what.size() > 0){ cout << "BLOCKED " << ele.first << endl; return false; @@ -65,7 +65,7 @@ bool filter_data(unsigned char* data, const size_t& bytes_transferred, vector ele:whitelist){ cmatch what; try{ - regex_search(reinterpret_cast(data), what, ele.second); + regex_search(reinterpret_cast(data),reinterpret_cast(data)+bytes_transferred, what, ele.second); if(what.size() < 0){ cout << "BLOCKED " << ele.first << endl; return false;