CRLF injection [\r\n Carriage Return]

السلام عليكم ورحمة الله وبركاتة


, .
 في البداية ناخذ تعريف عن معنى CRLF
CRLF
  CR=Carriage Return
 %0d
0x0D
\r
LF=Line feed
0x0A
%0a
\n


ماهو crlf
عندما يقوم شخص بارسال طلب من المتصفح الى السيرفر 
السيرفر راح يرد بالريسبونس يحتوي على 
http response headers
content
Carriage Return Line feed تستخدم في ملاحظه انتهاء الاين او السطر و كما نلاحظ طريقه الفصل بين Header مع الContent

Carriage Return&line feed
لكن تختلف من ويندوز الى لينكس
 حيث الويندوز يتطلب  بانتهى السطر با crlf
في بروتوكول http/https
اما في لينكس 
line feed  lf يتطلب
 فقط في بروتوكول الhttp 

اين تكمن الثغرة:

الثغرة تكمن عندما يضع المبرمج مدخل يستطيع المخترق او المستخدم بالتحكم في response header
مثال

من بعض الامثله التحكم في الوق مثلا


الان وقت الاسغلال والتصعيد
من بعض خطورة crlf ممكن التصعيد الى xss ,Session Fixation,openredirect
ايضا ممكن rce على حسب المحتوى
من خطوره crsf ممكن استغلالها على حسب المحتوى اذا كان
HTTP HEADER INJECTION
من الممكن المخترق باتلاعب بالهيدر وتخطي الحماية في الهيدرز مثل xss protection من ٠ الى ١ او العكس origin-policy. SOP في Corsالخ،،
 مثال
%0d%0aX-XSS-Protection:0%0aConnection:close%0d%0a%0d%09%0a%0a
  %3Csvg%20onload=alert(document.domain)%3E


 او
HTTP Response Splitting
على حسب المحتوى ولكن لنفرض هاذا السيناريو
من الممكن نعمل page hijacking
مثلا من failed الى true login
r3m0t3%0Ayes authenticated.%0D%0Anu11%0Ai%0Adon't%0Athink%0Aso

باتعديل محتوى output داخل الصفحه للمحتوى لاتغير ملامحه الى مصلحة الهكر مثلا بحقن مكان اخر على السيرفر مصاب بحيث
   الادمن يقوم بملاحظه شي غير مؤلف في الوق ويتوجه الى مكان الاشتباه ويقع في الفخ هاذا من بعض الامثله 
او في عدم الفلتره بستطاعه الهكر حقن كود جافاسكربت[xss] او html
واستغلالها  
الطرق متعدده اتركها لكم للاستكشاف دمت بود

بعض تخطيات الترميز
%09 ==> 嘉
%0a ==> 嘊
%0D ==> 嘍
<       ==> 嘼
>       ==> 嘾
=       ==> 嘽
(        ==> 嘨
)        ==> 嘩

 

اتمنى الفكرة وصلت .دعوة بظهر غيب تكفيني  دمت بود وعافية.

تعليقات

المشاركات الشائعة من هذه المدونة

Deserialization vulnerability in Node.js RCE

Html code injection-[Post-Get-StoredData!]-