eyes_shut_number1
شنبه 30 شهریور 1387, 17:53 عصر
به خاطر دارم جناب راد در تاپيکي در اين مورد بحث کوچيکي کردن يکم کامل تر براتون توضيح ميدم.
Xss : Cross-Site Scripting
حملاتي که پذيرانه درون web application شما مي کند براي شکست خوردن اعتبار شنجي و دزديدن اطلاعات محرمانه!
راه هاي جلوگيري anti Xss :
-- Validating and Constraining input
-- encoding output
متد هاي اين کتابخانه :
HtmlEncode ورودي ها براي استفاده در html روزنگاري مي کند
HtmlAttributeEncode ورودي ها براي استفاده در html Attr روزنگاري مي کند
JavaScriptEncode ورودي ها براي استفاده در Javascript روزنگاري مي کند
UrlEncode ورودي ها براي استفاده در URL روزنگاري مي کند
VisualBasicScript ورودي ها براي استفاده در Visual Basic روزنگاري مي کند
XmlEncode ورودي ها براي استفاده در XML روزنگاري مي کند
XmlAttributeEncode ورودي ها براي استفاده در XML Attr روزنگاري مي کند
مراحل زير را به ترتيب انجام دهد :
1) کدهاي خروجي شامل Response.Write , <%= را بازبيني کنيد.
2) بعد از تعيين خروجي بايد آنها را آناليز کنيد.براي تعيين آنکه اگر خروجي شامل ورودي غير غابل اعتماد مثل ورودي کاربر ها و...
اين ورودي ها بايد رمزگاري شوند
Application Variable,cookies,database,form field-querystring ,session منبع غير قابل اعتماد
3)تعيين روش رمزنگاري مناسب طبق جدول زير
HtmlEncode <a href=”http://www.contoso.com”>Click Here [Un-trusted input]</a>
HtmlAttributeEncode <hr noshade size=[Un-trusted input]>
JavaScriptEncode <script type=”text/javascript”>
…
[Un-trusted input]
…
</script>
UrlEncode <a href=”http://search.msn.com/results.aspx?q=[Un-trusted-input]”>Click Here!</a>
VisualBasicScriptEncode <script type=”text/vbscript” language=”vbscript”>
…
[Un-trusted input]
…
</script>
XmlEncode <xml_tag>[Un-trusted input]</xml_tag>
XmlAttributeEncode <xml_tag attribute=[Un-trusted input]>Some Text</xml_tag>
4)خروجي را رمزنگاري کنيد.ابزار و متد هاي مناسب را از جدول بالا انتخاب کنيد.
***داده ها را(خروجي )را فقط يکبار رمزنگاري کنيد.درغير اين صورت فرمت داده بهم ميريزد.
Hello Microsoft!----بعد از 2 بار ----> Microsoft!.
درضمن کتابخانه زير را به پروژه اضافه کنيد.
Xss : Cross-Site Scripting
حملاتي که پذيرانه درون web application شما مي کند براي شکست خوردن اعتبار شنجي و دزديدن اطلاعات محرمانه!
راه هاي جلوگيري anti Xss :
-- Validating and Constraining input
-- encoding output
متد هاي اين کتابخانه :
HtmlEncode ورودي ها براي استفاده در html روزنگاري مي کند
HtmlAttributeEncode ورودي ها براي استفاده در html Attr روزنگاري مي کند
JavaScriptEncode ورودي ها براي استفاده در Javascript روزنگاري مي کند
UrlEncode ورودي ها براي استفاده در URL روزنگاري مي کند
VisualBasicScript ورودي ها براي استفاده در Visual Basic روزنگاري مي کند
XmlEncode ورودي ها براي استفاده در XML روزنگاري مي کند
XmlAttributeEncode ورودي ها براي استفاده در XML Attr روزنگاري مي کند
مراحل زير را به ترتيب انجام دهد :
1) کدهاي خروجي شامل Response.Write , <%= را بازبيني کنيد.
2) بعد از تعيين خروجي بايد آنها را آناليز کنيد.براي تعيين آنکه اگر خروجي شامل ورودي غير غابل اعتماد مثل ورودي کاربر ها و...
اين ورودي ها بايد رمزگاري شوند
Application Variable,cookies,database,form field-querystring ,session منبع غير قابل اعتماد
3)تعيين روش رمزنگاري مناسب طبق جدول زير
HtmlEncode <a href=”http://www.contoso.com”>Click Here [Un-trusted input]</a>
HtmlAttributeEncode <hr noshade size=[Un-trusted input]>
JavaScriptEncode <script type=”text/javascript”>
…
[Un-trusted input]
…
</script>
UrlEncode <a href=”http://search.msn.com/results.aspx?q=[Un-trusted-input]”>Click Here!</a>
VisualBasicScriptEncode <script type=”text/vbscript” language=”vbscript”>
…
[Un-trusted input]
…
</script>
XmlEncode <xml_tag>[Un-trusted input]</xml_tag>
XmlAttributeEncode <xml_tag attribute=[Un-trusted input]>Some Text</xml_tag>
4)خروجي را رمزنگاري کنيد.ابزار و متد هاي مناسب را از جدول بالا انتخاب کنيد.
***داده ها را(خروجي )را فقط يکبار رمزنگاري کنيد.درغير اين صورت فرمت داده بهم ميريزد.
Hello Microsoft!----بعد از 2 بار ----> Microsoft!.
درضمن کتابخانه زير را به پروژه اضافه کنيد.