الحشد الشعبي

Recent Products RSS Feeds

فريق الهكر العراقي KAMINDOZ

TOOLS & EXPLOIT KAMINDOZ

DOWNLOAD VIDEO
 

اخر التغريدات
مقاطع الفيديو

مقال جديد : شرح تكنيك هجوم HPP #الهكر_الاخلاقي #pentest #hacking

KAMINDOZ

↑ Grab this Headline Animator

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

 

اليوم سنشرح نوع جديد من الهجمات البسيطة لكن المفيدة والمؤثرة وحسب علمي قد يخلو الويب العربي من هذا الهجوم لكن اليوم سنتطرق له وسنضيف عدة مواضيع لاحقة حول الاستفادة منه في هجمات واقعية .

 

أولاً : ما هو HPP ؟ 


HPP هي اختصار لجملة HTTP Parameter Pollution او تلوث متغيرات HTTP  مثل ما نعرف ان HTTP هو بروتكول من بروتكولات TCP/IP وهو مستخدم لنقل البيانات وتواصل المعلومات في WWW  .

 

لكل طلب HTTP يتم إرساله هناك نوع ولكل نوع خصائص وواجبات سنتظرق الى أكثر ما يتم إستخدامه في HTTP .

 

طلب GET  :

يرسل البيانات والمعلومات على شكل رابط فقط ولا يحتوي على BODY حين دخلت هذه الصفحة مثلاً تم إرسال طلب HTTP بهذا الشكل :

 

GET /foo?article_id=12&blogname=isecur1ty HTTP/1.1
User-Agent: Mozilla/5.0
Host: isecur1ty.org
Accept: */*x

 

حيث foo هي الصفحة المطلوبة وما بعد علامة الإستفهام هي المعلومات او البيانات فالمتغير article_id قيمته هي 12 و علامة & هي تعني نهاية المتغير الأول وبداية متغير أخر والمتغير الثاني هو blogname وقيمته  هي isecur1ty .

 

طلب POST :

يرسل البيانات على شكل body في الطلب مثلاً حين تكتب تعليق انت ترسل طلب بهذا الشكل :

POST /foo HTTP/1.1
User-Agent: Mozilla/5.0
Host: isecur1ty.org
Accept: */*x
Content-Length: 19

comment=nice&article_id=12

 

الأن فهمنا كيف يتم إرسال الطلب عن طريق HTTP . ولنجد الثغرات علينا أن نبحث في المتغيرات لنتعلم الأن فائدة HPP .

 

ثانياً : أكتشاف HPP  . 


في المثالين السابقين تم إدخال متغير إسمه article_id لكي يطلب من السيرفر أن يجلب ما في قاعدة البيانات من عمود article_id لكي يتم إظهاره او التعديل عليه لكن ماذا إذا وضعنا article_id في الطلب مرتين بقيمة مختلفة ؟ مثلاً

 

http://ift.tt/28IXp9x

GET /foo?article_id=12&blogname=isecur1ty&article_id=13 HTTP/1.1
User-Agent: Mozilla/5.0
Host: isecur1ty.org
Accept: */*x

x

ماذا تتوقع أن يتم إظهاره هل سيطلب مقال رقم 12 أم مقال رقم 13 ؟ لن نعرف الجواب إلا بعد الطلب وما سيتم إظهاره . ولكل سيرفر سلوك معين في هذا الأمر فمنها من يقبل الأول فقط ومنها من يقبل الثاني ومنها من يظهر الأثنين معاً بينهما فاصل او يظهرهم على شكل array هذا الجدول يبين تصرف كل سيرفر.

httpPollution

 

في سيرفرات ASP.NET يقوم السيرفر بعرض الأثنين لكن مع وجود فاصلة (,) بين المتغييرين وهذا أمر مهم سنتطرق له لاحقاً . في سيرفرات PHP تظهر القيمة الأخيرة للمتغير ويمكنك الإطلاع على البقية .

 

ثالثاً : فائدة HPP . 


الأن ناتي للجزء المهم وهو ما هي الفائدة من HPP ؟ . للجواب على هذا السؤال سنطرح بعض النقاط ونقوم بشرحها .

 

  • تخطي حدود HTTP المفروضة على بعض المتغيرات .
  • معرفة سلوك السيرفر وتحديد سلوك الweb app .
  • الوصول و ربما إستغلال المتغيرات الغير مسيطر عليها .
  • تخطي حماية المدخلات أو نقاط التحقق الخاصة بالجدران النارية .

 

 

مثال 1 : 

لو فرضنا ان هنالك جدار ناري يقوم بعمل فلترة باستخدام Regular expression لنفرض أنه يقوم بمطالعة كل ما بين قوسين أكبر او أصغر (><) في الطلب فعندما يجد قوسين >< في متغير واحد يقوم بحجب الطلب .

 

Slide1

 

الأن لنفرض ان السيرفر هو ASP .NET وكما نعرف من الجدول السابق فان السيرفر سيقوم بعمل المتغيرين مع وضع فارزة (,) بينهما والجدار الناري يقوم بحظر إدخال أي بيانات تحتوي على <> معاً . لذلك نقوم بعمل HPP  كما ياتي :

 

xxx

 

 

الان بعد ان فصلنا البايلود هنالك إحتمال ان الجدار الناري سيقرأ أول قيمة ويمررها او أن regex ستسمح بمرور هكذا باي لود باعتبار ان بداية الوسم غير مكتملة .

 

 

مثال 2  

الأن سنأخذ مثال حولSQLI لو أنا قمنا بعمل طلب مثال الطلب الأول في الصورة فالسيرفر سوف يقوم بمنع الطلب لوجود SELECT مع WHERE في متغير واحد لكن لو قمنا بفصل الطلب في نفس المتغير بإستعمال  HPP سوف يمرر السيرفر الطلب وتحصل على الحقن الخاص بك.

 

3

 

 

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

 

لأي سؤال او إستفسار إترك تعليقاً او تواصل معي .

 

تحياتي وتحيات فريق isecur1ty



الهكر الاخلاقي http://ift.tt/28Jb0ur
منتديات الهكر العراقي , منظمة الاختراق العراقية kamindoz
Share
روابط هذه التدوينة قابلة للنسخ واللصق
URL
HTML
BBCode

kamindoz


 
::جميع المشاركات المكتوبة تعبّر عن وجهة نظر كاتبها ... ولا تعبّر عن وجهة نظر إدارة الموقع::

C0DED BY IRAQ Electronic Army 2015-2016

iraq , syria , iran ,Afghanistan,Albania , Algeria , Andorra , Angola , Antigua , and , Barbuda , Argentina , Armenia , Aruba , Australia , Austria , Azerbaijan

Bahamas, , The , Bahrain , Bangladesh , Barbados , Belarus , Belgium , Belize , Benin , Bhutan , Bolivia , Bosnia , and , Herzegovina , Botswana , Brazil ,Brunei , Bulgaria , Burkina , Faso , Burma , BurundiCambodia , Cameroon , Canada , Cape , Verde , Central , African , Republic , Chad , Chile , China , Colombia , Comoros , Congo, , Democratic , Republic , of , the , Congo, , Republic , of , the , Costa , Rica , Cote , d'Ivoire , Croatia , Cuba , Curacao ,,,Cyprus , Czech , Republic.Denmark , Djibouti , Dominica , Dominican Republic

Ecuador , Egypt , El , Salvador , Equatorial , Guinea , Eritrea , Estonia , Ethiopia , Fiji Finland France , Gabon , Gambia, , The , Georgia , Germany , Ghana , Greece , Grenada , Guatemala , Guinea , Guinea-Bissau , Guyana , Haiti , Holy , See , Honduras , Hong , Kong , Hungary ,

Iceland,India, Indonesia Ireland Italy