WAF नियमों को बायपास करने के लिए कुकीज़ को एन्कोडिंग और डिकोड करना


नमस्ते,

मेरे पास एक .net 6 वेब एप्लिकेशन है, जिसमें नीला विज्ञापन प्रमाणीकरण है। एप्लिकेशन नीला एप्लिकेशन गेटवे से घिरा हुआ है। गेटवे WAF नियम अवरुद्ध हो रहे हैं और यह गेटवे से 403 त्रुटि लौटा रहा है।

मूल कारण: Microsoft पहचान वेब प्रमाणीकरण डबल हाइफ़न (–), WAF रेगेक्स जैसे विशेष वर्ण वाली कुकीज़ उत्पन्न करता है, उन्हें SQL टिप्पणी के रूप में मानता है और यह उस अनुरोध को अवरुद्ध कर रहा है।

मैंने क्या प्रयास किया है:

मैंने कुकीज़ को एन्कोड और डीकोड करने के लिए कस्टम मिडलवेयर लिखने का प्रयास किया है, लेकिन यह काम नहीं कर रहा है।

मैं प्रवाह को समझने में भी सक्षम नहीं हूं, क्योंकि अवधारणा मेरे लिए स्पष्ट नहीं है जैसे कि मैं मध्य वेयर में सर्वर कोड में कुकीज़ को डिकोड और एन्कोड कर रहा हूं, लेकिन जब कोई उपयोगकर्ता वेब ऐप पर अनुरोध भेज रहा है, तो प्रारंभिक रूप से यह आएगा प्रवेश द्वार के लिए और वहां इसे प्रवेश द्वार द्वारा अवरुद्ध कर दिया जाएगा। मुझे यकीन नहीं है कि इस प्रकार का समाधान कैसे काम कर सकता है।

कृपया अपने सुझाव साझा करें यदि आपने एप्लिकेशन गेटवे में नियमों को अवरुद्ध करने के अलावा इस समस्या का सामना किया है। या वास्तव में इसका समाधान कैसे होगा

समाधान 1

समाधान 2

यह बिल्कुल भी मेरी विशेषज्ञता का क्षेत्र नहीं है या उसके आसपास भी नहीं है…, फिर भी मुझे सवाल दिलचस्प लगा और मैंने कुछ गूगल करना शुरू कर दिया और हां, मुझे पता है, कुछ एआई सलाह है।

ऐसा लगता है कि कुकीज़ को एन्कोडिंग और डिकोड करने के लिए आपका कस्टम मिडलवेयर सही ढंग से कार्यान्वित किया गया है
ऐसा लगता है कि आपको यह सुनिश्चित करने की ज़रूरत है कि एन्कोडिंग/डिकोडिंग के दौरान जोड़े गए किसी भी हेडर को आउटगोइंग अनुरोधों में शामिल किया गया है।
सुनिश्चित करें कि आपका Azure एप्लिकेशन गेटवे अत्यधिक प्रतिबंधात्मक नहीं है, और यदि आवश्यक हो तो WAF नियमों को समायोजित करने पर विचार करें, मैंने टिप्पणी देखी कि इस पर आपका कोई नियंत्रण नहीं है, बस स्थिति की जांच करें और पुष्टि करें।

.NET में ‘कस्टम मिडलवेयर’ को संभालने के लिए, आवश्यक पैकेज स्थापित करें (एआई काम कर रहा है, यहां कोई गारंटी नहीं दी गई है लेकिन सही दिशा में सूचक के रूप में मदद मिलती है…) –

दे घुमा के
dotnet add package Microsoft.AspNetCore.Authentication
dotnet add package Microsoft.AspNetCore.Authentication.Cookies

बाकी यहां C3 का उपयोग करके कॉपी और पेस्ट किया गया है… –

सी#
// CustomMiddleware.cs
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Http;
using System.Threading.Tasks;

public class CustomMiddleware
{
    private readonly RequestDelegate _next;

    public CustomMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task Invoke(HttpContext context)
    {
        // Decode or encode your cookies here
        // For example, decoding:
        // var decodedCookie = context.Request.Cookies["YourCookieName"];
        // var decodedValue = DecodeYourCookie(decodedCookie);
        
        // Encoding example:
        // var encodedValue = EncodeYourCookie(originalValue);
        // context.Response.Cookies.Append("YourCookieName", encodedValue);

        // Call the next delegate/middleware in the pipeline
        await _next(context);
    }
}

अपने ‘स्टार्टअप.सीएस’ में मिडलवेयर पंजीकृत करें –

सी#
// Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

public class Startup
{
    // Other configurations...

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // Other middleware configurations...

        app.UseMiddleware<CustomMiddleware>();

        // Other middleware configurations...
    }
}

एगियन, कोड से संबंधित भाग एआई द्वारा तैयार किया गया है, आप जो हासिल करना चाहते हैं उस पर पूरी तरह से सिंक नहीं हो सकता है लेकिन एक सूचक के रूप में मदद करें…

समाधान 3

コメント

タイトルとURLをコピーしました