سوالف اندرويد




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
#1  
درس Sql-Injection + Cross Site Scripting

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




اليوم جايب لكم درس في عمليات الأمان في الـ php وأختها الـ mysql.


في هذا الدرس سوف نتطرق لطريقة سد ثغرات الـ mysql injection & Cross Site Scripting.

أهم شي في برمجة الـ php والذي الكثير من الأخوان يتجاهله هو ( مخرجات الحقول ) في النماذج وهذا بحد ذاته منبع الخطورة.





نبدأ بالدرس.....

Sql-Injection


ماذا لو كان نموذج يرسل متغير لصفحة معينة وهذه الصفحة تستعلم بهذا الشكل.

كود PHP:
<?php

mysql_query
("SELECT * FROM db WHERE username='$_POST[data]'");

?>
من خلال هذا الكود يستطيع أي شخص لديه فكره بسيطه عن الثغرات إختراق سكربتك بكل سهولة ( لن أشرح الطريقة وذلك حفاظاَ على الأخوان )

فيجب على أي شخص عن إرسال متغير من خلال نموذج أن يقوم بالتالي:

على سبيل المثال : المتغير الذي لدينا هو ( $_POST[data] ) كما في المثال السابق.

يجب أن نقوم بفلترة المتغير قبل إستخراج الناتج ويكون بهذا الشكل

كود PHP:
$dataaddslashes(strip_tags($_POST[data])); 

وبعد ذلك نقوم بالاستعلام بهذا الشكل

كود PHP:
<?php

mysql_query
("SELECT * FROM db WHERE username='$data'");

?>
وبذلك لا يستطيع أحد إرسال مخرجات من النماذج لإخترق السكربت.



Cross Site Scripting

هذه الثغره شرحها طويل جدا ولكن سأقوم بشرح شي بسيط على عجاله.


لا تقم بهذه الطريقة أبداً

كود PHP:
include($_GET['page']); 
أو
كود PHP:
header("Location: ".$_GET['page']); 

لأنه بكل بساطه سيستطيع المخترق إرسال (كود جافا) لسحب الكوكيز على أقل تقدير. بهذا الشكل ( http://www.uu.com/script.php?page=ht...y.com/java.php



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



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


أخوكم : عامر الصيعري






__________________
بي إتش بي الإمارات
رؤية جديد في عالم التصميم والبرمجة
========================
Php.ae
New Vision Of Designing & Programming
EmiDes.Com is offline   قديم 30-08-2006, 11:23 AM
الرد مع إقتباس
عضو فعال جدا
#2  

مشكور اخوي موضوع رائع .






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com is offline   قديم 30-08-2006, 12:37 PM
الرد مع إقتباس
عضو نشيط
#3  

سلمت يداك أخي العزيز






2rabia.com is offline   قديم 30-08-2006, 01:16 PM
الرد مع إقتباس
عضو سوبر نشيط
#4  

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

اخي EmiDes.Com

يعطيك العافية على هذا الدرس ولكن لي سؤال

إقتباس:
لا تقم بهذه الطريقة أبداً


كود PHP:
include($_GET['page']);


أو

كود PHP:
header("Location: ".$_GET['page']);




لأنه بكل بساطه سيستطيع المخترق إرسال (كود جافا) لسحب الكوكيز على أقل تقدير. بهذا الشكل ( http://www.uu.com/script.php?page=h...oy.com/java.php



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

و مشكور مرة اخرى على المعلومات القيمة

ارق تحية






العرب للجميع is offline   قديم 30-08-2006, 06:55 PM
الرد مع إقتباس
عضو فعال
#5  

درس بسيط ومميز


لا تحرمنما من هذه الدروس






__________________
سبحان الله وبحمده ،، سبحان الله العظيم
تذكر هذه الآيه قبل ان تشارك( مَا يَلْفِظُ مِن قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ)
طير شلوى is offline   قديم 30-08-2006, 07:16 PM
الرد مع إقتباس
عضو سوبر نشيط
#6  

بارك الله فيك
لو تكرمت شرحت لنا عمل هذه الدوال التي ذكرتها
كود PHP:
addslashes() 
كود PHP:
strip_tags() 






__________________
عدت
اقتراحاتكم -> www.elbachiri.com
عبد الواحد البشيري is offline   قديم 31-08-2006, 03:03 AM
الرد مع إقتباس
عضو سوبر نشيط
#7  

إقتباس:
المشاركة الأصلية بواسطة LiMoO4uS
السلام عليكم ورحمة الله وبركاته

اخي EmiDes.Com

يعطيك العافية على هذا الدرس ولكن لي سؤال



لم تذكر لنا ما هو الحل اذاً

و مشكور مرة اخرى على المعلومات القيمة

ارق تحية

كود PHP:
$pages = array('index.html''page2.html''page3.html'); 
if( 
in_array($page$pages) ) 

   include(
$page); 

else 

  die(
"Nice Try"); 







__________________
بي إتش بي الإمارات
رؤية جديد في عالم التصميم والبرمجة
========================
Php.ae
New Vision Of Designing & Programming
EmiDes.Com is offline   قديم 31-08-2006, 01:35 PM
الرد مع إقتباس
عضو سوبر نشيط
#8  

إقتباس:
المشاركة الأصلية بواسطة Nadorino
بارك الله فيك
لو تكرمت شرحت لنا عمل هذه الدوال التي ذكرتها
كود PHP:
addslashes() 
كود PHP:
strip_tags() 

strip_tags :: تستخدم لنزع وسوم الـ html من النص الممرر لها.

addslashes :: تستخدم لإضافة شرطة مائلة في المدخلات الممرره.






__________________
بي إتش بي الإمارات
رؤية جديد في عالم التصميم والبرمجة
========================
Php.ae
New Vision Of Designing & Programming
EmiDes.Com is offline   قديم 31-08-2006, 01:41 PM
الرد مع إقتباس
عضو فعال
#9  

شكراً لهذا الشرح

ولكن برأي للحماية التامة من SQL-injection

يجب إستخدام الدالة mysql_real_escape_string

فهي تحمي بشكل تام منها مثال

كود PHP:
<?
$str 
"Muslem's Car";
$escaped  mysql_real_escape_string($str); 
print 
$escaped;
?>
الناتج
Muslem\'s Car






__________________
البريد
almuslim@gmail.com
الماسنجر
muslem@php.net
Mr.Muslem is offline   قديم 03-09-2006, 06:22 AM
الرد مع إقتباس
عضو نشيط
#10  

إقتباس:
المشاركة الأصلية بواسطة EmiDes.Com
السلام عليكم ورحمة الله وبركاته

Cross Site Scripting

هذه الثغره شرحها طويل جدا ولكن سأقوم بشرح شي بسيط على عجاله.


لا تقم بهذه الطريقة أبداً

كود PHP:
include($_GET['page']); 
أو
كود PHP:
header("Location: ".$_GET['page']); 

لأنه بكل بساطه سيستطيع المخترق إرسال (كود جافا) لسحب الكوكيز على أقل تقدير. بهذا الشكل ( http://www.uu.com/script.php?page=ht...y.com/java.php



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



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


أخوكم : عامر الصيعري
مشكور اخوي ..

سحب الكوكيز شي لا يذكر في استغلال هذا الخطأ فهو لا يحتاجه لانه سيتمكن من مخاطبة السيرفر مباشرة ..

احترامي






سكاي فور ويب is offline   قديم 12-09-2006, 02:23 PM
الرد مع إقتباس
عضو نشيط
#11  

فعلا اخي درس مميز و الله ....

و فعلا يجب مراعاة تلك الثغرات في اي برنامج php

و زيادة علي ذلك يوجد كتاب لسد الثغرات في برامج php و هو PHP Security

علي هذا الرابط http://www.powells.com/biblio?PID=71...sbn=0596007418

و ايضا http://www.amazon.com/Pro-PHP-Securi...e=UTF8&s=books

ياريت لو أحد يستطيع ان يحضرهم لنا ...

و شكرا لك






__________________
مجلة مصري
مجلة الكترونية شبابية نصف شهرية
لمراستلي علي الماسنجر : karim-nour@hotmail.com
كريم علي is offline   قديم 12-09-2006, 06:06 PM
الرد مع إقتباس
عضو فعال
#12  

عذرا لاعادة رفع الدرس مرة اخرى (2006)
ولكنة درس هام جدا ومميز
شكرا للأخ EmiDes.Com
وأتسائل ان كان بالامكان عمل قسم خاص للدروس فى php






__________________
FaceBook Application Developer
تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
مشروعى داخل معرض الاتصالات
لمراسلتي إضغط هنا
سبحان الله وبحمده سبحان الله العظيم
edafa.info is offline   قديم 05-10-2008, 01:19 AM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح



جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 07:58 PM.