Advertisement
i-Hmx

stack php

Feb 20th, 2012
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.33 KB | None | 0 0
  1.  
  2. السلام عليم
  3.  
  4. عدنا و بدرس جديد من الدورة التعليمية لاختراق المواقع و السيرفرات مقدمة من طرف v4 Team
  5.  
  6. في هدا الدرس ساتحدت عن Remote Code Execution Vulnerability
  7.  
  8. هدا النوع من التغرات او بالاصح الاكسبلويتات EXPLOIT يسمح لنا بتطبيق اوامر او ادراج اكواد او قرائة ملفات
  9.  
  10. المهم راح ابسط الشرح
  11. ملاحظة : هده التغره لازم تكون تفهم شوي بال php و perl
  12. هده التغره او بالاصح هدا الاكسبلويت شامل لعدد من الثغرات فمن المممكن ان يكون انكلود او كومند او لوكال
  13. لانها غالبا ما تحتاج ان تكتب لها اكسبلويت مو متل الثغرات العادية الا في حالات معينة
  14.  
  15. اولا ساقوم باعطائكم بعض الامتلة التي ممكن تتعاملون معها و التي تحتاج تكتب لها اكسبلويت
  16.  
  17. متلا هدا السكريبت البسيط
  18. نكون ملف file.php و نضع به هدا الكود
  19.  
  20. <?php
  21. $msg = $_GET['v4'];
  22. $ip = getenv('REMOTE_ADDR');
  23. $error = fopen('v4team.php','a');
  24. fwrite($error,'<br />'.$v4.'<br />'.$ip.'<br />');
  25. fclose($error);
  26. ?>
  27.  
  28. من النضره ااولى لسكريبت اتحدى اي واحد يقول انو فيه تغره
  29. لان السكريبت مبرمج لطبع الايبي و الاستعلامات الي يزرها الزائر في ملف اسمو v4team.php
  30. ادا نحن راح نستغل برائة المبرمج في زرع اكواد لتغرات متلا انكلود او فايل ديسكلوز
  31. لنشرح الكود
  32.  
  33. تم التعريف على المتغير هنا بواسطة علامة $ $v4 ثم قام بطلبها بدالة _GET ثم قام بادراج التعريف بدالة fwrite
  34. تم قام بامر تكوين ملف v4team.php بواسطة دالة fopen بعدين قام بطبع الايرور بدالة fwrite في الملف المكون
  35. الايرور يساوي ما بعد المتغير v4 و في الاخير قام بالقفل fclose و هدا ترقيع لدالة fopen و قد تكلمت عنها في درس
  36. الريموت فايل دسكلوز يتم ترقيع الدالة ب fclose لكن دكاء الهكر
  37. تمكن من الاستفاده من الكود و حقن الملف المكون
  38. نصيحة للمبرمجين الاعتماد على البساطه في تصمصم سكريبتات
  39. تابعو معي التجربة
  40. هدا الكود هو الي راح نزرع وراء الاستعلام يعني هيك راح يصير الاستغلال
  41. لزرع انكلود <?include ($moad);?>
  42. http://site.com/file.php?v4=<?include ($v4team);?>
  43.  
  44. او لزرع تغرة لوكال فايل ديسكلوز
  45.  
  46. http://site.com/file.php?v4=<?readfile ($v4team);?>
  47.  
  48. لزرع تغرة كومند
  49.  
  50. http://site.com/file.php?v4=<?system ($v4team);?>
  51.  
  52. و الاستغلال يكون هكدا
  53.  
  54. http://site.com/file2.php?v4team=[evil code]
  55.  
  56.  
  57. file2.php = الملف الي طلبنا تكوينو في السكريبت يعني v4team.php
  58.  
  59.  
  60.  
  61. كما لاحضتم الاستغلال وهدا شيئ بسيط في تغرات الريموت كود remote code execution
  62.  
  63.  
  64. كما لاحضتم فالملف المكون انطبع الايبي و اي شيئ كتبناه وراء المتغير v4 لدا لازم ديما عند البحت بالتغرات التدقيق في الاكواد
  65.  
  66.  
  67.  
  68. الان نمر الى شيئ مهم
  69.  
  70. و هو تكوين اكسبلويت بسيط لتغره
  71. راح تقول لمادا نكون اكسبلويت اقول لك متلا تبي تنزل التغره بالميلوورمstr0ke ما راح يقبلها لانك راح تعمل مراحل كتير و الناس ما راح تفهم شو تبي تقول و لازم تكون تتكلم انجليزي 10/10
  72. لهدا راح نكون اكسبلويت بسيط جدا و راح يفي بالغرد
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. هدا هو الاكسبلويت و هو مكون لهده التغره فقط يعني تغرات اخرى لايشتغل معها لازم تعديل
  82. تمام الان نمر لشي اخر
  83.  
  84.  
  85. المهم ماراح اشرح كتير فيه لانك لازم تكون فاهم بالبيرل مشان تقدر تكتب اكسبلوويت
  86. ملاحضة: ممكن تكتب اكسبلويت باي لغه تفهمها يعني اي لغة php ruby perl c python
  87.  
  88. اي لغة تبي
  89.  
  90. الان بعد ان فهمتم فكره عن هده التغره التي ممكن نكتبها باكسبلويت الان نجي الى شيء اخر ممكن تكتب لو اكسبلويت و ممكن لا و هو يعتمد على دوال ركزو معي
  91.  
  92.  
  93. اقولك شو هي هده الدوال
  94.  
  95. system include shel_exec exec و هناك دالة اخرى و هي الاكتر شيوعا في هده التغرات eval حط مية خط تحت هده الدالة
  96.  
  97. راح تقول الي هده دوال تغرات الانكلود و الكومند اقولك راجع درس اللوكال فايل انكلود فالتغره كانت بدالة include و الكل يعرف ان هده الداله للفايل انكلود لكن كما شرحت لكم
  98. ممكن تكون لوكال فايل انكلود و الان ممكن تكون ريموت كود في هدا النوع من التغرات غالبا لازم تكتب لها اكسبلويت
  99.  
  100. لهدا ساشرح لكم دالة eval
  101. لانها غالبا لا تحتاج اكسبلويت
  102. الداله eval تعطيها نص وتنفذو على أساس انه كود
  103. متال
  104. code.php
  105.  
  106. <?
  107. eval("echo 'welcome in Stack-Terrorist lessons for discovered bug';");
  108. ?>
  109. تجي تقول كيف منا شايف ان الكود كتابه فقط يعني نص فقط اقولك لاحض معي
  110.  
  111. كما تعرفون ان برنامج نوتباد بلس بلس اي داله يعطيها لون مخصص و الدوال تبع الب اش بي يعطيها لون ازرق يبقا صحصح معي و شوف لما راح نستعرض الملف و ش راح نشوف
  112.  
  113.  
  114.  
  115. كما تلاحضون الكود يعتبر كنص بس عند طلب الملف راح يطبع لنا النص المربوط بدالة echo متل ما تابعتم هلا
  116.  
  117.  
  118.  
  119.  
  120. تمام
  121.  
  122.  
  123.  
  124. الان نمر الى الجد
  125.  
  126. نبدا بكودين بسيطين واحد لازم نشفر الاوامر بال base64 و الاخر لا يحتاج تشفير
  127. الاول
  128. code1.php
  129.  
  130. <?
  131. eval("\$v4=".base64_decode($v4team).";");
  132. ?>
  133. الكود واضح و باين ما يحتاج شرح
  134.  
  135. هدا هو الكود
  136. الاستغلال راح يكون هكدا
  137.  
  138. http://site.com/code1.php?v4team=[base64 command ]
  139.  
  140.  
  141. لازم نشفر الاوامر بالباس 64 و راح ارفثق لكم برنامج يقوم بالتشفير
  142. تقول ليش نشفر الاوامر اقولك لان المتغير قبلو معرف بدالة الباس 64
  143.  
  144.  
  145. تابعو معي
  146.  
  147.  
  148.  
  149. تمام تم التطبيق و عرض لنا ملفات السيرفر بالامر دير و هو احد اوامر الدوس
  150.  
  151.  
  152.  
  153.  
  154. الان نمر الى الكود التاني
  155.  
  156. code2.php
  157.  
  158.  
  159. <?
  160. eval('class v4team extends '.$v4.'{ }');
  161. ?>
  162.  
  163. نشرح الكود شرح بسيط
  164.  
  165. لو تلاحضون النص يبدا بدالة class
  166. class =
  167. الكلاس هو الشرح الخاص بالكائن وهو المكان الذي تضع فيه الأساليب والخصائص الخاصة بكائن معين وهي المتغيرات والدوال
  168.  
  169. فيصبح الكلاس الآن هو عبارة عن مجموعة من المتغيرات والدوال صحصحو معي هون
  170. وستضع أنت المتغيرات والدوال التي تمثل الأساليب والخصائص لهذا الكائن بين قوسي {}...
  171.  
  172.  
  173. ما اطول في هده الشروحات اي دالة مو فهمتوها اكتبها بمحرك البحت كوكل و راح تلاقي مئات الدروس و المواضيع ان شاء الله
  174.  
  175. الان تتسائلون كيف راح نعمل استغلال لهده التغره اها اقولك كيف
  176.  
  177. متال
  178.  
  179. http://site.com/code2.php?v4=v{};%20class%20v{};passthru(dir);//
  180.  
  181.  
  182. راح تقولون ما فهمنا ويش عملت اقولك
  183.  
  184. code2.php= الملف المصاب
  185. v4= المتغير
  186. v= حرف لبداية كود الاستغلال لابد من وضع حرف ما
  187.  
  188.  
  189. {} = اقرا اسطر الاخير من التعريف لدالة class
  190.  
  191. class = دالة كلاس
  192.  
  193. passthru= داة لتطبيق الاوامر
  194.  
  195. dir = امر من اوامر الدوس
  196.  
  197. لا تنسى علامة ; لاننا نطبق كود بي اش بي
  198. لنجرب
  199.  
  200. تمام تم تطبيق الامر
  201.  
  202.  
  203. اتمنى انكم اخواني ان تكونو فهمتو لاني حاسس اني هالدرس عملتو شو ناقص لاني اعدتو مرتين بعد ما كملتو اول مره نسيت احطو مع دروس الدورة و انحدف من الديسكتوب
  204.  
  205. الى هنا انتهى الدرس
  206.  
  207. اخوكم
  208. Stack-Terrorist
  209. admin@v4-team.com
  210. انتضرو الدرس القادم في اكتشاف التغرات و الاخير
  211. الى اللقاء
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement