д¸ø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 Ö¸Áî»ò ÅäÖýÚÖÐÉèÖà validateRequest="fa
Ïà¹ØÎĵµ£º
Abs(number) È¡µÃÊýÖµµÄ¾ø¶ÔÖµ¡£
Asc(String) È¡µÃ×Ö·û´®±í´ïʽµÄµÚÒ»¸ö×Ö·ûASCII Âë¡£
Atn(number) È¡µÃÒ»¸ö½Ç¶ÈµÄ·´ÕýÇÐÖµ¡£
CallByName (object, procname, usecalltype,[args()]) Ö´ÐÐÒ»¸ö¶ÔÏóµÄ·½·¨¡¢É趨»ò´«»Ø¶ÔÏóµÄÊôÐÔ¡£
CBool(expression) ת»»±í´ïʽΪBoolean ÐÍ̬¡£
CByte(expression) ת»»±í´ïʽΠ......
1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
·½·¨Ò»£º1¡¢Ê×ÏȽ¨Á¢Ò»¸ö°´Å¥£¬ÔÚºǫ́½«µ÷Óûò´¦ÀíµÄÄÚÈÝдÈëbutton_clickÖÐ;
2¡¢ÔÚǰ̨дһ¸öjsº¯Êý£¬ÄÚÈÝΪdocument.getElementById("btn1").click();
3¡¢ÔÚǰ̨»òºóÌ ......
ÔÚ±¾ÆªÎļþÖУ¬ÎÒÃǽ«ÌÖÂÛ±à³ÌÈËÔ±ÔÚʹÓÃASP.NET¿ª·¢Ó¦ÓóÌÐòʱÐèҪעÒâµÄ10¸ö¼¼ÇÉ£¬ÕâЩ¼¼ÇÉÉæ¼°´ÓȱʡµÄ¿Ø¼þ¡¢±íµ¥ÃûµÄ¸Ä±äµ½StringBuilderÀàµÄʹÓã¬ÓÐÖúÓÚ±à³ÌÈËÔ±Äܹ»¾¡¿ìµØÊÊÓ¦.NET»·¾³¡£ 1¡¢ÔÚʹÓÃVisual Studio .NETʱ£¬³ýÖ±½Ó»ò·ÇÒýÓõĶÔÏóÍ⣬²»ÒªÊ¹ÓÃȱʡµÄÃû×Ö¡£
.NET´øÀ´µÄºÃ´¦Ö®Ò»ÊÇËùÓеÄÔ´´úÂëºÍÅäÖÃÎ ......
using System;
using System.Web;
namespace pub.mo
{
public class js
{
private js() { }
private static string scr_j1 = "<mce:script type=\"text/javascript\"><!--
";
private static string scr_j2 = "
// --></mce:script>";
/// <summa ......