д¸øASP.NET³ÌÐòÔ±£ºÍøÕ¾ÖеݲȫÎÊÌâ
×öÏîĿҲÓÐÒ»¶Îʱ¼äÁË£¬ÔÚ³ÌÐòÖÐÒ²Óöµ½ºÜ¶à°²È«·½ÃæµÄÎÊÌâ¡£Ò²¸Ã×ܽáÒ»ÏÂÁË¡£Õâ¸öÏîÄ¿ÊÇÒ»¸ö CMS ϵͳ¡£ÏµÍ³ÊÇÓà ASP.NET ×öµÄ¡£¿ª·¢µÄʱºò·¢ÏÖ΢Èí×öÁ˺ܶలȫ´ëÊ©£¬Ö»ÊÇÓÐЩÐÂÊÖ³ÌÐòÔ±²»ÖªµÀÔõô¿ªÆô¡£ÏÂÃæÎÒͨ¹ý¼¸¸ö·½Ãæ¼òµ¥½éÉÜ£º
¡¡¡¡1£ºSQL ×¢Èë
¡¡¡¡2£ºXSS
¡¡¡¡3£ºCSRF
¡¡¡¡4£ºÎļþÉÏ´«
SQL ×¢Èë
¡¡¡¡ÒýÆðÔÒò£ºÆäʵÏÖÔںܶàÍøÕ¾Öж¼´æÔÚÕâÖÖÎÊÌâ¡£¾ÍÊdzÌÐòÖÐÖ±½Ó½øÐÐ SQL Óï¾äÆ´½Ó¡£¿ÉÄÜÓÐЩ¶ÁÕß²»Ì«Ã÷°×¡£ÏÂÃæÍ¨¹ýÒ»¸öµÇ¼ʱ¶ÔÓû§ÑéÖ¤À´ËµÃ÷£º
¡¡¡¡Ñé֤ʱµÄ SQL Óï¾ä£º
µÇ¼ÑéÖ¤ SQL Óï¾ä(Ôʼ)
SELECT * from WHERE user = '" + txtUsername.Text + "' AND pwd = '" + txtPwd.Text + "'
¡¡¡¡ÕâÊÇÒ»¶Î´ÓÊý¾Ý¿âÖвéѯÓû§£¬¶ÔÓû§Ãû£¬ÃÜÂëÑéÖ¤¡£
¡¡¡¡¿´ÉÏÈ¥ºÃÏóûÓÐʲôÎÊÌ⣬µ«ÊÇʵ¼ÊÕâÀïÃæÇ³²Ø×ÅÎÊÌ⣬Óû§Ãû£ºadmin ÃÜÂ룺admin
µÇ¼ÑéÖ¤ SQL Óï¾ä(ÕæÊµ)
SELECT * from WHERE user = 'admin' AND pwd = 'admin'
¡¡¡¡Èç¹ûÓû§ºÍÃÜÂëÕýÈ·¾Í¿ÉͨÑéÖ¤¡£Èç¹ûÎÒÓû§Ãû£ºasdf' OR 1 = 1 -- ÃÜÂë£ºËæÒâÊäÈë.
¡¡¡¡ÎÒÃÇÔÙÀ´¿´Óï¾ä£º
µÇ¼ÑéÖ¤ SQL Óï¾ä(×¢Èë)
SELECT * from WHERE user = 'asdf' OR 1 = 1 -- and pwd=''
¡¡¡¡Ö´Ðк󿴵½Ê²Ã´£¿ÊDz»ÊÇËùÓмǼ£¬Èç¹û³ÌÐòÖ»ÊǼòµ¥ÅжϷµ»ØµÄÌõÊý£¬ÕâÖÖ·½·¨¾Í¿ÉÒÔͨÑéÖ¤¡£
¡¡¡¡Èç¹ûÖ´ÐÐÓï¾äÊÇ SA Óû§£¬ÔÙͨ¹ý xp_cmdshell Ìí¼Óϵͳ¹ÜÀíÔ±£¬ÄÇôÕâ¸ö·þÎñÆ÷¾Í±»ÄÃÏÂÁË¡£
¡¡¡¡½â¾ö·½·¨£º
¡¡¡¡a. Õâ¸öÎÊÌâÖ÷ÒªÊÇÓÉÓÚ´«ÈëÌØÊâ×Ö·ûÒýÆðµÄÎÒÃÇ¿ÉÒÔÔÚ¶ÔÊäÈëµÄÓû§ÃûÃÜÂë½øÈë¹ýÂËÌØÊâ×Ö·û´¦Àí¡£
¡¡¡¡b. ʹÓô洢¹ý³Ìͨ¹ý´«Èë²ÎÊýµÄ·½·¨¿É½â¾ö´ËÀàÎÊÌ⣨עÒ⣺ÔÚ´æ´¢¹ý³ÌÖв»¿ÉʹÓÃÆ´½ÓʵÏÖ£¬²»È»ºÍûÓô洢¹ýºÍÊÇÒ»ÑùµÄ£©¡£
XSS£¨¿çÕ¾½Å±¾¹¥»÷£©
¡¡¡¡ÒýÆðÔÒò£ºÕâ¸öÒ²ÓÐʱ±»ÈËÃdzÆ×÷ HTML ×¢È룬ºÍ SQL ×¢ÈëÔÀíÏàËÆ£¬Ò²ÊÇûÓÐÌØÊâ×Ö·û½øÐд¦Àí¡£ÊÇÓû§¿ÉÒÔÌá½» HTML ±êÇ©¶ÔÍøÕ¾½øÐÐÖØÐµĹ¹Ôì¡£ÆäʵÔÚĬÈϵÄÇé¿öÏÂÔÚ ASP.NET ÍøÒ³ÖÐÊÇ¿ªÆô validateRequest ÊôÐԵģ¬ËùÓÐ HTML ±êÇ©ºó»á.NET¶¼»áÑéÖ¤£º
¡¡¡¡µ«ÕâÑùÖ±½Ó°ÑÒì³£Å׸øÓû§£¬¶àÉÙÓû§ÌåÑé¾Í²»ºÃ¡£
¡¡¡¡½â¾ö·½·¨£º
¡¡¡¡a. ͨ¹ýÔÚ Page Ö¸Áî»ò ÅäÖýÚÖÐÉèÖà validateReque
Ïà¹ØÎĵµ£º
ÈçºÎÔËÓà Form ±íµ¥ÈÏÖ¤
ASP.NET µÄ°²È«ÈÏÖ¤£¬¹²ÓГWindows”“Form”“Passport”“None”ËÄÖÖÑé֤ģʽ¡£“Windows”Óë“None”ûÓÐÆðµ½±£»¤µÄ×÷Ó㬲»ÍƼöʹÓ㻓Passport”ÎÒÓÖûÓùý£¬°¦……ËùÒÔÎÒÖ»ºÃ½²½²“Form”ÈÏ ......
±íµ¥formµÄÌá½»ÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊÇgetµÄ·½·¨£¬Ò»ÖÖÊÇpost µÄ·½·¨.¿´ÏÂÃæ´úÂë,Àí½âÁ½ÖÖÌá½»µÄÇø±ð:
1 <form id="form1" method="get" runat="server">
2 <div>
3 ÄãµÄÃû×Ö<asp:TextBox ID="name" runat="server">< ......
Èç¹ûÄãÒѾÓн϶àµÄÃæÏò¶ÔÏ󿪷¢¾Ñé£¬Ìø¹ýÒÔÏÂÕâÁ½²½£º
µÚÒ»²½¡¡ÕÆÎÕÒ»ÃÅ¡£NETÃæÏò¶ÔÏóÓïÑÔ£¬C#»òVB.NET ÎÒÇ¿ÁÒ·´¶ÔÔÚûϵͳѧ¹ýÒ»ÃÅÃæÏò¶ÔÏó£¨OO£©ÓïÑÔµÄǰÌáÏÂȥѧASP.NET¡£ ASP.NETÊÇÒ»¸öÈ«ÃæÏò¶ÔÏóµÄ¼¼Êõ£¬²»¶®OO£¬ÄǾø¶Ôѧ²»ÏÂÈ¥£¡
µÚ¶þ²½¡¡¶Ô¡£NET FrameworkÀà¿âÓÐÒ»¶¨µÄÁ˽⠿ÉÒÔͨ¹ý¿ª·¢Windows FormÓ¦ÓóÌÐòÀ´Ñ ......
<mce:script language=javascript><!--
//×¢²áÃüÃû¿Õ¼ä
Type.registerNamespace("Demo");
Demo.Message=function(content,publishTime)
{
this._content = content;
this._publishTime = publishTime;
}
Dem ......
OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="False"ÔÚ°´Å¥ÊôÐÔÖмÓÈëÕâ¶Î´úÂë
this.btnSubmit.Attributes["onclick"] = this.GetPostBackEventReference(this.btnSubmit) + ";this.disabled=true;";
Èç¹ûÊÇÌá½»ÊÇÒ»¸öButton£¬¿ÉÒÔʹÓÃjavascript£¬ÉèÖÃΪen ......