النتائج 1 إلى 14 من 14

الموضوع: تلات اسطر تريحك من تغرات XSS

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    46

    تلات اسطر تريحك من تغرات XSS



    السلام عليكم
    خطرت ببالى فكرة حوالة ان اوضحها لكم واتمنى منكم تطويره لكي تناسب الجميع
    وفي هدا الموضوع ساضع كود بسيط وسهل
    تعتمد الفكرة على فحص مسار الملف من اي ادراجات او اكواد جافا القاتلة
    متل الكلمات الممنوعة في المنتدايات
    كود PHP:
    <?
    $a99
    =$_SERVER["REQUEST_URI"] ;
    if (
    stristr($a99,"<")) {
    header("HTTP/1.1 404 Not Found");
    }
    ?>
    اعتمدت على <
    لانه على ما اضن لايكنتنفيد كود جافا متلا بدون وجوها
    اعلم ان الفكرة ينقصها الكتير ولكن هدا الموضوع فقط لتطويرها ولا انصح المبتدئين بستعملها قبل التطوير





    __________________
    اينكم يا مغاربة ’’’؟؟؟
    لنتعاون من اجل النهوظ بالمواقع المغربية
    ****************************
    متى سنتوقف عن مواقع المسيقى والدردشة !!!!!
    www.gsm4maroc.com


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    حلو .. فيه دالة من مده وانا استعملها .. ميزتها ماتعطل كل اكواد الhtml كالتي وضعت
    كود PHP:
    function RemoveXSS($val) { 
               
    // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed 
               // this prevents some character re-spacing such as <java\0script> 
               // note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs 
               
    $val preg_replace('/([\x00-\x08][\x0b-\x0c][\x0e-\x20])/'''$val); 
            
               
    // straight replacements, the user should never need these since they're normal characters 
               // this prevents like <IMG SRC=&#X40&#X61&#X76&#X61&#X73&#X63&#X72&#X69&#X70&#X74&#X3A&#X61&#X6C&#X65&#X72&#X74&#X28&#X27&#X58&#X53&#X53&#X27&#X29> 
               
    $search 'abcdefghijklmnopqrstuvwxyz'
               
    $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
               
    $search .= '1234567890!@#$%^&*()'
               
    $search .= '~`";:?+/={}[]-_|\'\\'
               for (
    $i 0$i strlen($search); $i++) { 
                  
    // ;? matches the ;, which is optional 
                  // 0{0,7} matches any padded zeros, which are optional and go up to 8 chars 
            
                  // &#x0040 @ search for the hex values 
                  
    $val preg_replace('/(&#[x|X]0{0,8}'.dechex(ord($search[$i])).';?)/i'$search[$i], $val); // with a ; 
                  // &#00064 @ 0{0,7} matches '0' zero to seven times 
                  
    $val preg_replace('/(&#0{0,8}'.ord($search[$i]).';?)/'$search[$i], $val); // with a ; 
               

            
               
    // now the only remaining whitespace attacks are \t, \n, and \r 
               
    $ra1 = Array('javascript''vbscript''expression''applet''meta''xml''blink''link''style''script''embed''object''iframe''frame''frameset''ilayer''layer''bgsound''title''base'); 
               
    $ra2 = Array('onabort''onactivate''onafterprint''onafterupdate''onbeforeactivate''onbeforecopy''onbeforecut''onbeforedeactivate''onbeforeeditfocus''onbeforepaste''onbeforeprint''onbeforeunload''onbeforeupdate''onblur''onbounce''oncellchange''onchange''onclick''oncontextmenu''oncontrolselect''oncopy''oncut''ondataavailable''ondatasetchanged''ondatasetcomplete''ondblclick''ondeactivate''ondrag''ondragend''ondragenter''ondragleave''ondragover''ondragstart''ondrop''onerror''onerrorupdate''onfilterchange''onfinish''onfocus''onfocusin''onfocusout''onhelp''onkeydown''onkeypress''onkeyup''onlayoutcomplete''onload''onlosecapture''onmousedown''onmouseenter''onmouseleave''onmousemove''onmouseout''onmouseover''onmouseup''onmousewheel''onmove''onmoveend''onmovestart''onpaste''onpropertychange''onreadystatechange''onreset''onresize''onresizeend''onresizestart''onrowenter''onrowexit''onrowsdelete''onrowsinserted''onscroll''onselect''onselectionchange''onselectstart''onstart''onstop''onsubmit''onunload'); 
               
    $ra array_merge($ra1$ra2); 
            
               
    $found true// keep replacing as long as the previous round replaced something 
               
    while ($found == true) { 
                  
    $val_before $val
                  for (
    $i 0$i sizeof($ra); $i++) { 
                     
    $pattern '/'
                     for (
    $j 0$j strlen($ra[$i]); $j++) { 
                        if (
    $j 0) { 
                           
    $pattern .= '('
                           
    $pattern .= '(&#[x|X]0{0,8}([9][a][b]);?)?'
                           
    $pattern .= '|(&#0{0,8}([9][10][13]);?)?'
                           
    $pattern .= ')?'
                        } 
                        
    $pattern .= $ra[$i][$j]; 
                     } 
                     
    $pattern .= '/i'
                     
    $replacement substr($ra[$i], 02).'<x>'.substr($ra[$i], 2); // add in <> to nerf the tag 
                     
    $val preg_replace($pattern$replacement$val); // filter out the hex tags 
                     
    if ($val_before == $val) { 
                        
    // no replacements were made, so exit the loop 
                        
    $found false
                     } 
                  } 
               }
               
               return 
    $val
            } 






    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    95


    طيب كيف نستعملها اخوي Flasher في المنتدى ؟






  4. #4
    عضو شرف
    تاريخ التسجيل
    Mar 2005
    المشاركات
    943


    دالة اكثر من رائعه اخي فلاشر ..

    استخدمتها واعطتني نتائج رائعة .

    http://www.swalif.net/softs/showthread.php?t=174606 وهذا الموضوع الاصلي للدالة التي اضافها الاخ فلاشر






  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    طب اخواني كيف ممكن نستعمل هالدالة هيك بدون فهم ما هي ثغرات XSS يعني احنا بدنا كلشي جاهز ؟؟ يا ريت لو حد يحط شرح وافي لهيك نوع ثغرات .

    مشكورين اخواني على النقاش الجميل والى الامام .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    مشكور جدا
    ممتاز





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    أصدقائي الأعزاء، أنا عادة أستخدم الشيفرة البرمجية التالية للحماية من XSS

    كود PHP:
    // One of the easiest way to do XSS is to use one of the on* attributes, like onclick or onload.
    // With this you can easily execute a script, without the user even having to do something (with onload, etc)
    // or just having to click or hover over something. We just remove them all with
    $x_content preg_replace('#(<[^>]+[\s\r\n\"\'])(on|xmlns)[^>]*>#iU',"$1>",$x_content);

    // As you certainly know, can you use javascript: and vbscript: as protocol handlers instead of http:// and others.
    // Something like <a href="javascript:alert('foobar')">lll</a> executes just nicely if a user clicks on it.
    // We of course remove that as well. IE as also the strange behaviour that something like "java script :" is also valid,
    // so we have to check for a whitespace between every character.
    $x_content preg_replace('#([a-z]*)[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*)[\\x00-\x20]*j[\x00-\x20]*a[\x00-\x20]*v[\x00-\x20]*a[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iU','$1=$2nojavascript...',$x_content);
    $x_content preg_replace('#([a-z]*)[\x00-\x20]*=([\'\"]*)[\x00-\x20]*v[\x00-\x20]*b[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iU','$1=$2novbscript...',$x_content);

    // We removed all namespace declarations above, here we remove all elements, which have a prefix, they are not needed in HTML..
    $x_content preg_replace('#</*\w+:\w[^>]*>#i','',$x_content);

    // There are quite some elements in HTML, which you definitively don't want in something like user comments.
    // The reason for the while loop is, that stuff like
    // <sc<script>ript>alert('hello')</sc</script>ript>
    // We remove them with:
    do {
        
    $oldstring $x_content;
        
    $x_content preg_replace('#</*(\?xml|applet|meta|xml|blink|link|style|script|object|iframe|frame|frameset|ilayer|layer|bgsound|title|base)[^>]*>#i',"",$x_content);
    } while (
    $oldstring != $x_content); 






    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  8. #8


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

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

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






  9. #9


    الأخ الحبيب خالد الشمعة والأخ فلاشر

    هل الفانكشن تفي بالغرض من ناحية الحماية من أخطار الـ SQL INJECTION و أخطار XSS
    أم فقط أخطار XSS

    أرجو التوضيح






  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    الأخ هكرز المنتديات:
    الأسطر البرمجية التي عرضتها خاصة بالحماية من اخطار XSS فقط

    أما بخصوص طريقة الاستخدام فالأسطر التي عرضتها تعالج متحول اسمه x_content وتقوم بتنظيفه، ويمكنك بسهولة تحويلها إلى function يتم استدعائها من أجل أي متحول نصي يراد تنظيفه





    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  11. #11


    شكراُ جزيلاً على الرد السريع عزيزي ...

    والحمدلله إنك موجود بهالمنتدى ... وانا أعجب بصراحة بشدة بكتاباتك وأثق بمواضيعك ... كثر الله من امثالك

    لكن هل أجد لديك عزيزي فانكشن للحماية من أخطار SQL INJECTION وتكون قوية وفعالة ولاتحدث أي مشاكل مع البرمجة تكون مجربة من واقع خبرتك ... أو اذا أمكن فانكشن للحماية من أخطار الـ SQL INJECTION و أخطار XSS معاً ...


    وشكراً






  12. #12


    هل أستطيع الحصول على دالة تقوم بالحماية من أخطار الـ SQL INJECTION و أخطار XSS معاً






  13. #13

    Cool



    للرفع.......................






  14. #14
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    46


    هل أستطيع الحصول على دالة تقوم بالحماية من أخطار الـ SQL INJECTION و أخطار XSS معاً
    http://www.swalif.net/softs/swalif45/softs174606/





    __________________
    اينكم يا مغاربة ’’’؟؟؟
    لنتعاون من اجل النهوظ بالمواقع المغربية
    ****************************
    متى سنتوقف عن مواقع المسيقى والدردشة !!!!!
    www.gsm4maroc.com





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض