
शोषण प्रशिक्षण -- CVE-2013-2028: Nginx स्टैक आधारित बफर ओवरफ्लो
इस रिपॉजिटरी में nginx 1.4.0 का स्रोत कोड और साथ ही प्रीकंपाइल्ड बाइनरी (स्टैक कुकीज़ के साथ और बिना) शामिल हैं। सेटअप को आसान बनाने के लिए एक Vagrantfile भी है।
घोषणा और पैच: http://mailman.nginx.org/pipermail/nginx-announce/2013/000112.html बग विवरण: http://www.vnsecurity.net/research/2013/05/21/analysis-of-nginx-cve-2013-2028.html
vagrant up
vagrant ssh
sudo /vagrant/bin/nginx1
Nginx VM के अंदर पोर्ट 80 पर और होस्ट पर बाहर पोर्ट 8080 पर उपलब्ध है।
# VM के अंदर
curl 127.0.0.1
# VM के बाहर
curl 127.0.0.1:8080
sudo gdb /vagrant/bin/nginx1
gdb> set follow-fork-mode child
gdb> r
अपना एक्सप्लॉइट विकसित करने के लिए आपको ऐसा करने की आवश्यकता नहीं है, यह अधिकतर केवल रिकॉर्ड के लिए है।
# रिपॉजिटरी क्लोन करें
hg clone http://hg.nginx.org/nginx
# टैग देखें
hg tags
# 1.4.0 चेकआउट करें
hg up 7809529022b8
स्टैक कुकीज़ के बिना:
./auto/configure --without-http_rewrite_module --without-http_gzip_module
vim objs/Makefile
# CFLAGS में '-fno-stack-protector' जोड़ें
make -j4
sudo make install
स्टैक कुकीज़ के साथ:
./auto/configure --without-http_rewrite_module --without-http_gzip_module
make -j4
sudo make install
# वेबरूट /usr/local/nginx/html/ में है
sudo ./objs/nginx