Osticket: تم كسر رمز CSRF عند وجوده خلف الوكيل العكسي

تم إنشاؤها على ٢٨ مارس ٢٠١٤  ·  6تعليقات  ·  مصدر: osTicket/osTicket

محاولة استخدام osTicket (v1.8.1-dpr) خلف وكيل عكسي ، والحصول على ملفات

 Invalid CSRF Token __CSRFToken__
Invalid CSRF token [b4cab350cfce13ee10a8cd27445e7f4466db039e] on
(redacted)

يبدو أن السبب هو osticket javascript الذي يولد الرمز المميز المستند إلى عنوان IP الخاص بالمتصفح ، والذي يختلف بالطبع عن IP الوكيل العكسي عندما يتم التحقق من الرمز المميز من جانب الخادم.

الوكيل العكسي هو مثيل Apache على ec2

question

التعليق الأكثر فائدة

أعلم أن هذا المنشور مضى عليه أكثر من عام ، لكنه ظهر عدة مرات أثناء محاولة إعداد الوكيل العكسي الخاص بي باستخدام osTicket. أنا أستخدم NginX كوكيل عكسي (أعرف ، غير مدعوم ، إلخ) مع بعض التعديلات ، تمكنت من اجتياز الخطأ "رمز CSRF غير صالح".

في كتلة موقعي كنت بحاجة إلى إضافة بعض إعدادات الرأس:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

كان pass_header هو ما يبدو أنه يجعله يعمل ، لكن الإعدادات الأخرى ستتأكد من أن الخادم الخاص بك يتلقى عنوان IP الصحيح. أعتقد أنه يمكنك ضبط هذه الإعدادات في الخادم أو كتلة http أيضًا ، لكن هذا يخدم احتياجاتي.

ال 6 كومينتر

يجب أن يرسل الوكيل العكسي الخاص بك X-Forwarded-For . هل هو كذلك؟

نعم ، يقوم الوكيل العكسي بتعيين X-Forwarded-For على العنوان الصحيح. العميل وراء NAT ، وبالتالي من المحتمل أن تحصل Javascript على عنوان RFC1918 ، إذا كانت تحصل على عناوين واجهة ملزمة (من غير الواضح ما إذا كان ذلك يحدث).

هل يمكنك التحقق من إعدادات ملفات تعريف الارتباط بين الخادم الوكيل (حيث يتم تشغيل osTicket والعميل)؟ تحقق من مجال ملف تعريف الارتباط ومسار ملف تعريف الارتباط الخاص بملف تعريف الارتباط المرتجع وتأكد من عدم تعثر أي من الخوادم البينية مع إعدادات ملفات تعريف الارتباط أو ملفات تعريف الارتباط.

سوف أتحقق من ذلك ، ولكن قد يكون هذا هو المكان الذي تكمن فيه المشكلة (المجال المضيف الداخلي والمجال كوكلاء مختلفان إلى حد كبير). سوف أقوم بتحديث في غضون بضع ساعات.

أعلم أن هذا المنشور مضى عليه أكثر من عام ، لكنه ظهر عدة مرات أثناء محاولة إعداد الوكيل العكسي الخاص بي باستخدام osTicket. أنا أستخدم NginX كوكيل عكسي (أعرف ، غير مدعوم ، إلخ) مع بعض التعديلات ، تمكنت من اجتياز الخطأ "رمز CSRF غير صالح".

في كتلة موقعي كنت بحاجة إلى إضافة بعض إعدادات الرأس:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

كان pass_header هو ما يبدو أنه يجعله يعمل ، لكن الإعدادات الأخرى ستتأكد من أن الخادم الخاص بك يتلقى عنوان IP الصحيح. أعتقد أنه يمكنك ضبط هذه الإعدادات في الخادم أو كتلة http أيضًا ، لكن هذا يخدم احتياجاتي.

webbe نحن لا ندعم nginx رسميًا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات