ɨһɨ
·ÖÏíÎÄÕµ½Î¢ÐÅ
ɨһɨ
¹Ø×¢¹Ù·½¹«ÖÚºÅ
ÖÁ¶¥Í·Ìõ
À´Ô´£ºÈüµÏÍø 2011Äê5ÔÂ2ÈÕ
¹Ø¼ü×Ö£º Web°²È« WebÓ¦Ó÷À»ðǽ
¡¡¡¡1. Ñо¿±³¾°
¡¡¡¡1.1 WEBÓ¦Óð²È«ÏÖ×´
¡¡¡¡Ëæ×Å»¥ÁªÍøµÄ·¢Õ¹£¬½ðÈÚÍøÉϽ»Òס¢Õþ¸®µç×ÓÕþÎñ¡¢ÆóÒµÃÅ»§ÍøÕ¾¡¢ÉçÇøÂÛ̳¡¢µç×ÓÉÌÎñµÈ¸÷Àà»ùÓÚHTMLÎļþ¸ñʽµÄÐÅÏ¢¹²ÏíÆ½Ì¨(WEBÓ¦ÓÃϵͳ)Ô½·¢ÍêÉÆ£¬ÉîÈëµ½ÈËÃÇÉú»îÖеĵãµãµÎµÎ¡£È»¶øWEBÓ¦Óù²ÏíÆ½Ì¨ÎªÎÒÃǵÄÉú»î´øÀ´±ãÀûµÄͬʱ£¬Ò²ÃæÁÙ×ÅǰËùδÓеÄÌôÕ½£ºWEBÓ¦ÓÃϵͳֱ½ÓÃæÏòInternet£¬ÒÔWEBÓ¦ÓÃÏµÍ³ÎªÌø°åÈëÇÖ·þÎñÆ÷ÉõÖÁ¿ØÖÆÕû¸öÄÚÍøÏµÍ³µÄ¹¥»÷ÐÐΪÒѳÉΪ×îÆÕ±éµÄ¹¥»÷ÊֶΡ£¾ÝGartnerµÄ×îе÷²é£¬Ä¿Ç°75%ÒÔÉϵĹ¥»÷ÐÐΪ¶¼»ùÓÚWEBÓ¦ÓòãÃæ¶ø·ÇÍøÂç²ãÃæ;ͬʱÊý¾ÝÏÔʾ£¬Èý·ÖÖ®¶þµÄWEBÕ¾µã¶¼Ï൱´àÈõ£¬Ò×Êܹ¥»÷¡£
¡¡¡¡¾ÝÖйú»¥ÁªÍøÓ¦¼±ÖÐÐÄ×îÐÂͳ¼ÆÏÔʾ£¬2009ÄêÎÒ¹ú´ó½µØÇøÕþ¸®ÍøÒ³Ôâ´Û¸Äʼþ³Ê´ó·ùÔö³¤Ç÷ÊÆ£¬±»´Û¸ÄÍøÕ¾µÄÊýÁ¿¾Í´ïµ½52225¸ö¡£2009Äê8Ô·ݣ¬¹«°²²¿¶Ô¹úÄÚÕþ¸®ÍøÕ¾µÄ½øÐа²È«´ó¼ì²é£¬·¢ÏÖ40%´æÔÚÑÏÖØ°²È«Â©¶´£¬°üÀ¨SQL×¢Èë¡¢¿çÕ¾½Å±¾Â©¶´µÈ¡£Óɴ˵¼ÖµÄÍøÒ³´Û¸Ä¡¢ÍøÒ³¹ÒÂí¡¢»úÃÜÊý¾ÝÍâйµÈ°²È«Ê¼þƵ·±·¢Éú£¬²»µ«ÑÏÖØÓ°Ïì¶ÔÍâÐÎÏó£¬ÓÐʱÉõÖÁ»áÔì³É¾Þ´óµÄ¾¼ÃËðʧ£¬»òÕßÑÏÖØµÄÉç»áÎÊÌ⣬ÑÏÖØÎ£¼°¹ú¼Ò°²È«ºÍÈËÃñÀûÒæ¡£
¡¡¡¡ÍøÒ³´Û¸Ä£ºÒ»Ð©²»·¨·Ö×ÓµÄÖØµã¹¥»÷¶ÔÏó¡£×éÖ¯ÃÅ»§ÍøÕ¾Ò»µ©±»´Û¸Ä(¼ÓÈëһЩÃô¸ÐµÄÏÔÐÔÄÚÈÝ)£¬Òý·¢½Ï´óµÄÓ°Ï죬ÑÏÖØÉõÖÁÔì³ÉÕþÖÎʼþ¡£
¡¡¡¡ÍøÒ³¹ÒÂí£ºÍøÒ³ÄÚÈݱíÃæÉÏûÓÐÈκÎÒì³££¬Êµ¼Ê±»ÍµÍµµÄ¹ÒÉÏÁËľÂí³ÌÐò¡£ÍøÒ³¹ÒÂíδ±Ø»á¸øÍøÕ¾´øÀ´Ö±½ÓË𺦣¬µ«È´»á¸øä¯ÀÀÍøÕ¾µÄÓû§´øÀ´¾Þ´óËðʧ¡£ÍøÕ¾Ò»µ©±»¹ÒÂí£¬ÆäȨÍþÐԺ͹«ÐÅÁ¦½«»áÊܵ½´ò»÷¡£
¡¡¡¡»úÃÜÊý¾ÝÍâй£ºÔÚÏßÒµÎñϵͳÖУ¬×ÜÊÇÐèÒª±£´æÒ»Ð©ÆóÒµ¡¢¹«ÖÚµÄÏà¹Ø×ÊÁÏ£¬ÕâЩ×ÊÁÏÍùÍùÉæ¼°µ½ÆóÒµÃØÃܺ͸öÈËÒþ˽£¬Ò»µ©Ð¹Â¶£¬»áÔì³ÉÆóÒµ»ò¸öÈ˵ÄÀûÒæÊÜË𣬿ÉÄÜ»á¸øµ¥Î»´øÀ´ÑÏÖØµÄ·¨ÂɾÀ·×¡£
¡¡¡¡1.2 ´«Í³°²È«·À»¤·½·¨
¡¡¡¡ÆóÒµ WEB Ó¦Óõĸ÷¸ö²ãÃæ£¬¶¼ÒÑʹÓò»Í¬µÄ¼¼ÊõÀ´È·±£°²È«ÐÔ¡£ÎªÁ˱£»¤¿Í»§¶Ë»úÆ÷µÄ°²È«£¬Óû§»á°²×°·À²¡¶¾Èí¼þ;ΪÁ˱£Ö¤Óû§Êý¾Ý´«Êäµ½ÆóÒµ WEB ·þÎñÆ÷µÄ´«Ê䰲ȫ£¬Í¨ÐŲãͨ³£»áʹÓà SSL¼¼Êõ¼ÓÃÜÊý¾Ý;·À»ðǽºÍ IDS/IPSÀ´±£Ö¤½öÔÊÐíÌØ¶¨µÄ·ÃÎÊ£¬²»±ØÒª±©Â¶µÄ¶Ë¿ÚºÍ·Ç·¨µÄ·ÃÎÊ£¬ÔÚÕâÀï¶¼»á±»×èÖ¹;ͬʱÆóÒµ²ÉÓÃÒ»¶¨µÄÉí·ÝÈÏÖ¤»úÖÆÊÚȨÓû§·ÃÎÊ WEB Ó¦Óá£
¡¡¡¡µ«ÊÇ£¬¼´±ãÓзÀ²¡¶¾±£»¤¡¢·À»ðǽºÍ IDS/IPS£¬ÆóÒµÈÔÈ»²»µÃ²»ÔÊÐíÒ»²¿·ÖµÄͨѶ¾
¡¡¡¡¹ý·À»ðǽ£¬±£»¤´ëÊ©¿ÉÒԹرղ»±ØÒª±©Â¶µÄ¶Ë¿Ú£¬µ«ÊÇ WEB Ó¦ÓÃËù±ØÐëµÄ¶Ë¿Ú£¬±ØÐ뿪·Å¡£Ë³Àûͨ¹ýµÄÕⲿ·ÖͨѶ£¬¿ÉÄÜÊÇÉÆÒâµÄ£¬Ò²¿ÉÄÜÊǶñÒâµÄ£¬ºÜÄѱæ±ð¡£Í¬Ê±£¬WEB Ó¦ÓÃÊÇÓÉÈí¼þ¹¹³ÉµÄ£¬ÄÇô£¬ËüÒ»¶¨»á°üº¬Â©¶´£¬ÕâЩ©¶´¿ÉÄܱ»¶ñÒâµÄÓû§ÀûÓã¬ËûÃÇͨ¹ýÖ´Ðи÷ÖÖ¶ñÒâµÄ²Ù×÷£¬»òÕß͵ÇÔ¡¢»òÕ߲ٿء¢»òÕßÆÆ»µ WEB Ó¦ÓÃÖеÄÖØÒªÐÅÏ¢¡£
¡¡¡¡1.3 ±¾ÎÄÑо¿¹Ûµã
¡¡¡¡ÍøÕ¾ÊÇ·ñ´æÔÚWEB Ó¦ÓóÌÐò©¶´£¬ÍùÍùÊDZ»ÈëÇÖºó²ÅÄܲì¾õ;ÈçºÎÔÚ¹¥»÷·¢¶¯Ö®Ç°Ö÷¶¯·¢ÏÖWEBÓ¦ÓóÌÐò©¶´?´ð°¸¾ÍÊÇ£ºÖ÷¶¯·ÀÓù£¬¼´ÀûÓÃWEBÓ¦ÓÃÈõµãɨÃè¼¼Êõ£¬Ö÷¶¯ÊµÏÖ¶ÔWEBÓ¦Óõݲȫ·À»¤¡£
¡¡¡¡±¾ÎÄÖ÷ÒªÕë¶ÔB/S¼Ü¹¹WEBÓ¦ÓÃϵͳÖеäÐÍ©¶´¡¢Á÷ÐеĹ¥»÷¼¼Êõ¡¢AJAXµÄÒþ²Ø×ÊÔ´»ñÈ¡¡¢ÑéÖ¤ÂëͼƬʶ±ðµÈ½øÐÐÑо¿£¬Ìá³öÁËÒ»ÖÖеÄÃæÏòWEBµÄ©¶´¼ì²â¼¼Êõ£¬Äܹ»½ÏÍêÕûµÃÌáÈ¡³öAJAXµÄ×ÊÔ´£¬ÓÐЧʶ±ðÑéÖ¤Âë¡£
¡¡¡¡2. WEBÓ¦Ó÷çÏÕɨÃè¼Ü¹¹
¡¡¡¡WEBÓ¦Ó÷çÏÕɨÃè¼¼Êõ¼Ü¹¹Ö÷Òª·ÖΪURL»ñÈ¡²ã¡¢¼ì²â²ã¡¢È¡Ö¤ÓëÉî¶ÈÆÀ¹À²ãÈý¸ö²ã´Î£¬ÆäÖУº
¡¡¡¡URL»ñÈ¡²ã£ºÖ÷Ҫͨ¹ýÍøÂçÅÀ³æ·½Ê½»ñÈ¡ÐèÒª¼ì²âµÄËùÓÐURL£¬²¢Ìá½»ÖÁ¼ì²â²ã½øÐзçÏÕ¼ì²â;
¡¡¡¡·çÏÕ¼ì²â²ã£º¶ÔURL»ñÈ¡²ãËùÌá½»µÄËùÓÐURLÒ³Ãæ½øÐÐSQL×¢Èë¡¢¿çÕ¾½Å±¾¡¢ÎļþÉÏ´«µÈÖ÷Á÷WEBÓ¦Óð²È«Â©¶´½øÐмì²â£¬²¢½«´æÔÚ°²È«Â©¶´µÄÒ³ÃæºÍ©¶´ÀàÐÍÌá½»ÖÁȡ֤ÓëÉî¶ÈÆÀ¹À²ã;
¡¡¡¡È¡Ö¤ÓëÉî¶ÈÆÀ¹À²ã£ºÕë¶Ô´æÔÚ°²È«Â©¶´µÄÒ³Ãæ£¬½øÐÐÉî¶È²âÊÔ£¬»ñÈ¡Ëù¶ÔÓ¦°²È«Â©¶´µÄÏÔÐÔ±íÏÖ£¬(Èç·çÏÕ¼ì²â²ã¼ì²â³ö¸ÃÍøÕ¾´æÔÚSQL×¢Èë©¶´£¬ÔòÖÁÉÙÐè¿É»ñÈ¡¸ÃÍøÕ¾µÄÊý¾Ý¿âÀàÐÍ);×÷Ϊ¸Ã©¶´´æÔÚµÄÖ¤¾Ý¡£
¡¡¡¡3. ÍøÂçÅÀ³æ¼¼Êõ¡ªURL»ñÈ¡
¡¡¡¡ÍøÂçÅÀ³æÊÇÒ»¸ö×Ô¶¯ÌáÈ¡ÍøÒ³µÄ³ÌÐò£¬Ëüͨ¹ýÖ¸¶¨µÄÓòÃû£¬´ÓÒ»¸ö»òÈô¸É³õÊ¼ÍøÒ³µÄURL¿ªÊ¼£¬»ñµÃ³õÊ¼ÍøÒ³ÉϵÄURL£¬ÔÚ×¥È¡ÍøÒ³µÄ¹ý³ÌÖУ¬²»¶Ï´Óµ±Ç°Ò³ÃæÉϳéȡеÄURL·ÅÈë¶ÓÁУ¬Ö±µ½Âú×ãϵͳµÄÒ»¶¨Í£Ö¹Ìõ¼þ¡£
¡¡¡¡ÍøÂçÅÀ³æµÄ¹¤×÷Á÷³Ì½ÏΪ¸´ÔÓ£¬Ê×Ïȸù¾ÝÒ»¶¨µÄÍøÒ³·ÖÎöËã·¨¹ýÂËÓëÖ÷ÌâÎ޹صÄÁ´½Ó£¬±£ÁôÓÐÓõÄÁ´½Ó²¢½«Æä·ÅÈëµÈ´ýץȡµÄURL¶ÓÁС£È»ºó£¬¸ù¾ÝËÑË÷²ßÂÔ´Ó¶ÓÁÐÖÐÑ¡ÔñÏÂÒ»²½Òª×¥È¡µÄÍøÒ³URL£¬²¢Öظ´£¬Ö±µ½´ïµ½Ô¤ÉèµÄÍ£Ö¹Ìõ¼þ¡£ÁíÍ⣬ËùÓб»ÅÀ³æ×¥È¡µÄÍøÒ³½«»á±»ÏµÍ³´æÖü£¬½øÐÐÒ»¶¨µÄ·ÖÎö¡¢¹ýÂË£¬²¢½¨Á¢Ë÷Òý£¬ÒÔ±ãÖ®ºóµÄ²éѯ¡¢¼ìË÷ºÍȡ֤¼°±¨±íÉú³Éʱ×öΪԴÊý¾Ý¡£
¡¡¡¡ÎªÁ˸ü¼Ó¸ßËÙ¡¢ÓÐЧµØ»ñÈ¡ÍøÕ¾ÖÐËùÓеÄURLÁ´½Ó£¬ÔÚ±¾WEBÓ¦Ó÷çÏÕɨÃè¼¼ÊõÑо¿ÖУ¬Ëù²ÉÓõÄÍøÂçÅÀ³æ¼¼Êõ×ÅÖØ½â¾öÒÔÏÂÈý¸öÎÊÌ⣺
¡¡¡¡(1) ¶ÔץȡĿ±êµÄÃèÊö»ò¶¨Òå;
¡¡¡¡(2) ¶ÔÍøÒ³ºÍÊý¾ÝµÄ·ÖÎöÓë¹ýÂË;
¡¡¡¡(3) ¶ÔURLµÄËÑË÷²ßÂÔ¡£
¡¡¡¡3.1 ÍøÒ³×¥È¡Ä¿±ê
¡¡¡¡ÍøÒ³ÈõµãÅÀ³æ¶ÔץȡĿ±êµÄÃèÊö»ò¶¨Òå»ùÓÚÄ¿±êÍøÒ³ÌØÕ÷ץȡ¡¢´æ´¢²¢Ë÷Òý£¬¶ÔÏóÊÇÍøÕ¾µÄÍøÒ³;ͨ¹ýÓû§ÐÐΪȷ¶¨µÄץȡĿ±êÑùÀý£¬ÆäÖУ¬ÍøÒ³ÌØÕ÷¿ÉÒÔÊÇÍøÒ³µÄÄÚÈÝÌØÕ÷£¬Ò²¿ÉÒÔÊÇÍøÒ³µÄÁ´½Ó½á¹¹ÌØÕ÷£¬ÒÔ¼°ÍøÒ³´úÂëµÄ½á¹¹ÌØÕ÷µÈ¡£
¡¡¡¡3.2 ÍøÒ³·ÖÎöËã·¨
¡¡¡¡»ùÓÚÍøÒ³ÄÚÈݵķÖÎöËã·¨Ö¸µÄÊÇÀûÓÃÍøÒ³ÄÚÈÝ(Îı¾¡¢Êý¾ÝµÈ×ÊÔ´)ÌØÕ÷½øÐеÄÍøÒ³ÆÀ¼Û¡£¸ÃËã·¨´ÓÔÀ´µÄ½ÏΪµ¥´¿µÄÎı¾¼ìË÷·½·¨£¬·¢Õ¹Îªº¸ÇÍøÒ³Êý¾Ý³éÈ¡¡¢»úÆ÷ѧϰ¡¢Êý¾ÝÍÚ¾ò¡¢ÓïÒåÀí½âµÈ¶àÖÖ·½·¨µÄ×ÛºÏÓ¦Ó᣸ù¾ÝÍøÒ³Êý¾ÝÐÎʽµÄ²»Í¬£¬½«»ùÓÚÍøÒ³ÄÚÈݵķÖÎöËã·¨£¬¹éÄÉÒÔÏÂÈýÀࣺµÚÒ»ÖÖÕë¶ÔÒÔÎı¾ºÍ³¬Á´½ÓΪÖ÷µÄÎ޽ṹ»ò½á¹¹ºÜ¼òµ¥µÄÍøÒ³;µÚ¶þÖÖÕë¶Ô´Ó½á¹¹»¯µÄÊý¾ÝÔ´¶¯Ì¬Éú³ÉµÄÒ³Ãæ£¬ÆäÊý¾Ý²»ÄÜÖ±½ÓÅúÁ¿·ÃÎÊ;µÚÈýÖÖÕë¶ÔµÄÊý¾Ý½çÓÚµÚÒ»ºÍµÚ¶þÀàÊý¾ÝÖ®¼ä£¬¾ßÓнϺõĽṹ£¬ÏÔʾ×ñÑÒ»¶¨Ä£Ê½»ò·ç¸ñ£¬ÇÒ¿ÉÒÔÖ±½Ó·ÃÎÊ¡£
¡¡¡¡3.3 ÍøÒ³×¥È¡²ßÂÔ
¡¡¡¡ÅÀ³æµÄץȡ²ßÂÔĿǰÆÕ±éµÄ²ÉÓõķ½·¨ÓУºÉî¶ÈÓÅÏÈ¡¢¹ã¶ÈÓÅÏÈ¡¢×î¼ÑÓÅÏÈÈýÖÖ¡£ÓÉÓÚÉî¶ÈÓÅÏÈÔںܶàÇé¿öÏ»ᵼÖÂÅÀ³æµÄÏÝÈë(trapped)ÎÊÌâ£¬ÍøÒ³ÈõµãÅÀ³æÄ¿Ç°²ÉÓõÄÊÇÉî¶ÈÓÅÏȺÍ×î¼ÑÓÅÏÈ·½·¨×éºÏ·½·¨¡£
¡¡¡¡Éî¶ÈÓÅÏÈËÑË÷²ßÂÔ£ºÖ¸ÔÚץȡ¹ý³ÌÖУ¬ÔÚÍê³Éµ±Ç°²ã´ÎµÄËÑË÷ºó£¬²Å½øÐÐÏÂÒ»²ã´ÎµÄËÑË÷¡£ÍøÒ³ÈõµãÅÀ³æ²ÉÓÃÉî¶ÈÓÅÏÈËÑË÷·½·¨Îª¸²¸ÇÖ¸¶¨ÍøÕ¾´æÔÚÈõµãµÄÍøÒ³¡£Æä»ù±¾Ë¼ÏëÊÇÈÏΪÓë³õʼURLÔÚÒ»¶¨Á´½Ó¾àÀëÄÚµÄÍøÒ³¾ßÓÐÈõµãÏà¹ØÐԵĸÅÂʺܴó;²¢²ÉÓý«Éî¶ÈÓÅÏÈËÑË÷ÓëÍøÒ³¹ýÂ˼¼Êõ½áºÏʹÓã¬ÏÈÓÃÉî¶ÈÓÅÏȲßÂÔ×¥È¡ÍøÒ³£¬ÔÙ½«ÆäÖÐÎ޹صÄÍøÒ³¹ýÂ˵ô¡£ÕâЩ·½·¨µÄȱµãÔÚÓÚ£¬Ëæ×Å×¥È¡ÍøÒ³µÄÔö¶à£¬´óÁ¿µÄÎÞ¹ØÍøÒ³½«±»ÏÂÔØ²¢¹ýÂË£¬Ëã·¨µÄЧÂʽ«±äµÍ£¬Òò´ËÍøÒ³ÈõµãÅÀ³æ²ÉÓÃÁË×î¼ÑÓÅÏÈËÑË÷²ßÂÔÀ´ÃÖ²¹Õâ¸öȱµã¡£
¡¡¡¡×î¼ÑÓÅÏÈËÑË÷²ßÂÔ£º×î¼ÑÓÅÏÈËÑË÷²ßÂÔ²ÉÓûùÓÚÍøÒ³ÄÚÈݵÄÍøÒ³·ÖÎöËã·¨£¬Ô¤²âºòÑ¡URLÓëÄ¿±êÍøÒ³µÄÏàËÆ¶È£¬»òÓëÖ÷ÌâµÄÏà¹ØÐÔ£¬²¢Ñ¡È¡ÆÀ¼Û×îºÃµÄÒ»¸ö»ò¼¸¸öURL½øÐÐץȡ¡£ËüÖ»·ÃÎʾ¹ýÍøÒ³·ÖÎöËã·¨Ô¤²âΪ¡°ÓÐÓá±µÄÍøÒ³¡£
¡¡¡¡4. ©¶´¼ì²â¼¼Êõ¡ª·çÏÕ¼ì²â
¡¡¡¡4.1 Ö÷ÒªWEBÓ¦Óé¶´
¡¡¡¡4.1.1 OWASPÊ®´ó°²È«Íþв
¡¡¡¡¿ª·ÅʽWEBÓ¦ÓóÌÐò°²È«ÏîÄ¿(OWASP£¬Open Web Application Security Project)ÊÇÒ»¸ö×éÖ¯£¬ËüÌṩÓйؼÆËã»úºÍ»¥ÁªÍøÓ¦ÓóÌÐòµÄ¹«Õý¡¢Êµ¼Ê¡¢Óгɱ¾Ð§ÒæµÄÐÅÏ¢¡£ÆäÄ¿µÄÊÇÐÖú¸öÈË¡¢ÆóÒµºÍ»ú¹¹À´·¢ÏÖºÍʹÓÿÉÐÅÀµÈí¼þ¡£ÃÀ¹úÁª°îóÒ×ίԱ»á(FTC)Ç¿ÁÒ½¨ÒéËùÓÐÆóÒµÐè×ñÑOWASPËù·¢²¼µÄÊ®´óWebÈõµã·À»¤ÊØÔò¡¢ÃÀ¹ú¹ú·À²¿ÒàÁÐΪ×î¼ÑʵÎñ£¬¹ú¼ÊÐÅÓÿ¨×ÊÁϰ²È«¼¼ÊõPCI±ê×¼¸ü½«ÆäÁÐΪ±ØÐë²ÉÓÃÓÐЧ´ëÊ©½øÐÐÕë¶ÔÐÔ·À·¶¡£
¡¡¡¡Figure2 2010 The top 10 security threat of OWASP
¡¡¡¡±àºÅ©¶´Ãû³Æ²úÉúÔÀí
¡¡¡¡1×¢Èë©¶´Ó¦ÓóÌÐòδ¶ÔÓû§ÊäÈëµÄÊý¾Ý¿â²éѯÓï¾ä½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡2¿çÕ¾½Å±¾Â©¶´Ó¦ÓóÌÐòδ¶ÔÓû§ÊäÈëµÄÖ´ÐдúÂë½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡3ÈÏÖ¤ºÍ»á»°¹ÜÀíÒþ»¼Ó¦ÓóÌÐòÖеÄÈÏÖ¤ºÍ»á»°¹ÜÀí¹¦ÄÜδµÃµ½ÕýÈ·Ö´ÐÐ
¡¡¡¡4Ö±½Ó¶ÔÏóÒýÓÃÒþ»¼Ó¦ÓóÌÐòÖ±½ÓÒýÓÃÍⲿ¶ÔÏóʱ£¬Î´½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡5¿çÕ¾ÇëÇóαÔìWEBÕ¾µã¶ÔÓû§ä¯ÀÀÆ÷½øÐÐÈÏÖ¤¶ø·ÇÓû§±¾Éí
¡¡¡¡6°²È«ÅäÖôíÎóÓ¦ÓóÌÐò¡¢WEB·þÎñÆ÷¡¢Öмä¼þµÈδ½øÐкÏÀíµÄ°²È«ÅäÖÃ
¡¡¡¡7ÏÞÖÆURL·ÃÎÊʧ°ÜÒþ²ØÒ³Ãæ·ÃÎÊ¿ØÖÆÊ§Ð§
¡¡¡¡8ÉÐδÈÏÖ¤µÄ·ÃÎÊÖØ¶¨ÏòURLÖØ¶¨Ïòδ½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡9ÃÜÂë´æ´¢²»µ±Ó¦ÓóÌÐòδʹÓÃÇ¡µ±µÄ¼ÓÃÜËã·¨±£»¤Ãô¸ÐÊý¾Ý
¡¡¡¡10´«Êä²ã±£»¤²»×ãδʹÓÃÇ¡µ±µÄ¼ÓÃÜËã·¨±£»¤´«Êä¹ý³ÌÖеÄÃô¸ÐÊý¾Ý
¡¡¡¡±í1 2010 OWASPÊ®´ó°²È«ÍþвÔÀí½éÉÜ
¡¡¡¡Table 1 The principle of OWASP top 10 security threat
¡¡¡¡4.1.2 CWE/SANS 25´óΣÏÕ±à³Ì´íÎó
¡¡¡¡Ò»°ãÈõµãÁоÙ(Common Weakness Enumeration CWE)ÊÇÓÉÃÀ¹ú¹ú¼Ò°²È«¾ÖÊ×Ïȳ«ÒéµÄÕ½ÂÔÐж¯£¬¸ÃÐж¯µÄ×éÖ¯×î½ü·¢²¼ÁË¡¶2010ÄêCWE/SANS×îΣÏյijÌÐòÉè¼Æ´íÎó(PDF)¡·Ò»ÎÄ£¬ÆäÖÐÁоÙÁË×÷ÕßÈÏΪ×îÑÏÖØµÄ25ÖÖ´úÂë´íÎó£¬Í¬Ê±Ò²ÊÇÈí¼þ×îÈÝÒ×Êܵ½¹¥»÷µÄµã¡£OWASP Top 10£¬Ëù¹Ø×¢µÄÊÇWEBÓ¦ÓóÌÐòµÄ°²È«·çÏÕ£¬¶øCWEµÄTop 25µÄ¸²¸Ç·¶Î§¸ü¹ã£¬°üÀ¨ÖøÃûµÄ»º³åÇøÒç³öȱÏÝ¡£CWE»¹Îª³ÌÐòÔ±ÌṩÁ˱àд¸ü°²È«µÄ´úÂëËùÐèÒªµÄ¸üÏêϸµÄÄÚÈÝ¡£
¡¡¡¡4.2 WEBÓ¦Óé¶´¹æÔò¿â
¡¡¡¡ÎÒÃǾ¹ý¶àÄêWEBÓ¦Óð²È«ÁìÓòµÄÑо¿£¬½áºÏ¹úÄÚÍâÓÅÐã×éÖ¯µÄ¾µä×ܽᡢÃèÊöÒÔ¼°ÑéÖ¤£¬½¨Á¢ÆðÒ»Ì×¼¸ºõº¸ÇËùÓпÉÄÜ´øÀ´°²È«ÍþвµÄWEBÓ¦Óð²È«Â©¶´µÄ·á¸»µÄWEBÓ¦Óé¶´¹æÔò¿â£¬°üÀ¨¸÷¸ö°²È«Â©¶´µÄ²úÉúÔÀí¡¢¼ì²â¹æÔò¡¢¿ÉÄÜΣº¦¡¢Â©¶´ÑéÖ¤µÈµÈ£¬Í¨¹ý×Ô¶¯»¯ÊֶΣ¬¶ÔÍøÂçÅÀ³æËù»ñÈ¡µ½µÄÍøÕ¾Ò³Ãæ½øÐÐÖðÒ»¼ì²â¡£Ëæ×Ű²È«Â©¶´µÄ²»¶Ï²úÉú¡¢¹¥»÷ÊֶεIJ»¶ÏÑݱ䣬WEBÓ¦Óé¶´¹æÔò¿âÒ²²»¶Ï»ñµÃ³äʵºÍ¸Ä½ø¡£
¡¡¡¡5. Ä£ÄâÉøÍ¸²âÊÔ¡ªÈ¡Ö¤ÓëÉî¶ÈÆÀ¹À
¡¡¡¡5.1 Ä£ÄâÉøÍ¸²âÊÔ
¡¡¡¡Í¨³£ÎÒÃÇËùÀí½âµÄÉøÍ¸²âÊÔ£¬ÊÇÖ¸¾ßÓзḻ°²È«¾ÑéµÄ°²È«×¨¼Ò£¬ÔÚ¶ÔÄ¿±êϵͳһÎÞËùÖªµÄÇé¿öÏ£¬Í¨¹ýÊÕ¼¯ÏµÍ³ÐÅÏ¢£¬½øÐоßÓÐÕë¶ÔÐԵݲȫ¹¥»÷ºÍÈëÇÖ£¬»ñȡϵͳ¹ÜÀíȨÏÞ¡¢Ãô¸ÐÐÅÏ¢µÄÒ»¸ö¹ý³Ì¡£Õâ°üÀ¨Èý¸öÒªËØ£º·á¸»°²È«¾ÑéµÄ°²È«×¨¼Ò(ÈË)¡¢ÏµÍ³Â©¶´(©¶´¼ì²â)¡¢È¨ÏÞ»ñÈ¡»òÐÅÏ¢»ñÈ¡(ȡ֤)¡£ÓÉÓÚ×éÖ¯ÄÚ²¿Ò»°ã²¢²»¾ß±¸¾ßÓÐ×¨ÒµÉøÍ¸¼¼ÊõµÄ°²È«×¨¼Ò£¬ËùÒÔͨ³£ÒÀ¿¿ÓÚµÚÈý·½°²È«¹«Ë¾¡£ÉøÍ¸²âÊԵĹý³ÌÖУ¬ËäȻǩÊðÁËһϵÁеı£ÃÜÐÒ飬µ«ÊDz»¿É±ÜÃâµØ»á·¢Éú×éÖ¯ÄÚ²¿ÐÅϢй¶µÄ·çÏÕ¡£
¡¡¡¡½áºÏ´óÁ¿ÓÅÐ㰲ȫר¼ÒµÄÉøÍ¸²âÊÔ¾Ñ飬ÒÔ¼°¶Ô¸÷ÀàWEBÓ¦Óð²È«Â©¶´µÄÏÔÐÔ·ÖÎö(¼´Èç¹û´æÔڸé¶´£¬Æä¾ßÌå±íÏÖÊÇʲô)£¬ÔÚÍê³ÉÍøÕ¾Öи÷¸öÒ³ÃæµÄ©¶´¼ì²âºó£¬¶ÔËù´æÔڵݲȫ©¶´½øÐÐÑéÖ¤£¬¼´»ñÈ¡ÏàÓ¦µÄȨÏÞ»òÐÅÏ¢£¬´ïµ½Ä£ÄâÉøÍ¸²âÊÔµÄЧ¹û£¬²»½ö¿ÉÒÔ´ó´ó½µµÍ©¶´¼ì²âµÄÎó±¨ÂÊ£¬×¼È·³ÊÏָé¶´µÄ´æÔÚºÍȡ֤;¶øÇÒ¿ÉÒÔÔÚÒ»¶¨³Ì¶ÈÉÏÌæ´úµÚÈý·½µÄÉøÍ¸²âÊÔÈËÔ±£¬×ÔÖ÷½øÐа²È«É¨Ã裬½µµÍÐÅϢй¶µÄ·çÏÕ¡£
¡¡¡¡5.2 °²È«Â©¶´È¡Ö¤·ÖÎö
¡¡¡¡¶Ô°²È«Â©¶´µÄȡ֤·ÖÎö£¬ÔÚ´ËÒÔSQL×¢Èë©¶´ÎªÀý½øÐмòÒªÃèÊö¡£
¡¡¡¡SQL×¢ÈëÀàÐ͸ù¾ÝÔÀí¿ÉÒÔ·ÖΪÒÔϼ¸ÀࣺÊýÖµÐÍ¡¢×Ö·ûÐÍ¡¢ËÑË÷ÐÍ¡¢´íÎóÐÍ¡¢ÔÓÏîÐÍ¡£ÔÚ¼ì²â³öÏà¹Ø×¢Èë©¶´ºó, ¸ù¾Ý²»Í¬ºǫ́Êý¾Ý¿â, ²ÉÓò»Í¬µÄÊý¾Ý¿â×¢Èë²ßÂÔ°üÀ´½øÐнøÒ»²½µÄȡ֤ºÍÉøÍ¸¡£Í¼2½²ÊöÁËSQL×¢Èë¼ì²âµÄÁ÷³Ì£ºÍ¨¹ýÍøÂçÅÀ³æ»ñÈ¡µÄURL£¬³ÉΪSQL×¢Èë¼ì²âµÄÊäÈ룬ͨ¹ýͼ2Á÷³ÌÍê³ÉSQL×¢Èë¡¢ÉøÍ¸ºÍÉ󼯡£
¡¡¡¡Í¼2 SQL×¢Èë¼ì²âµÄÁ÷³Ì
¡¡¡¡Figure2 Detection Flow Of SQL Injection
¡¡¡¡²Î¿¼ÎÄÏ×
¡¡¡¡[1] ºúÓÂ ÍøÂçÐÅϢϵͳ·çÏÕÆÀ¹À·½·¨Ñо¿ ËÄ´¨´óѧ£¬2007.
¡¡¡¡[2] ³Ì½¨»ª ÐÅÏ¢°²È«·çÏÕ¹ÜÀí¡¢ÆÀ¹ÀÓë¿ØÖÆÑо¿ ¼ªÁÖ´óѧ 2008.
¡¡¡¡[3] ³Â¹â ÐÅϢϵͳÐÅÏ¢°²È«·çÏÕ¹ÜÀí·½·¨Ñо¿ ¹ú·À¿ÆÑ§¼¼Êõ´óѧ 2006.
¡¡¡¡[4] °²ÓÀР»ùÓÚ·çÏÕµÄWebÓ¦ÓòâÊÔÑо¿ ÖØÇì´óѧ 2002.
¡¡¡¡[5] »ÆÃ÷£¬ÁºÐñ ASPÐÅϢϵͳÉè¼ÆÓ뿪·¢ÊµÀý »úе¹¤Òµ³ö°æÉç 2004
¡¡¡¡[6] ÆôÃ÷¹¤×÷ÊÒ ASPÍøÂçÓ¦ÓÃϵͳʵÓÿª·¢¼¼Êõ ÈËÃñÓʵç³ö°æÉç 2004
¡¡¡¡[7] S.Raghavan and H.Garcia- Molina. Crawling the hidden web [C]. Proceedings of the 27th International Conference on Very Large DataBases (VLDB), 2001.
¡¡¡¡[8] L.Barbosa and J.Freire. Anadaptive crawler for locating hidden-web entry points [C]. Proc. of the 16th international conference on World Wide Web, 2007:441-450.
¡¡¡¡[9] Improving Web Application Security Using New 2010 OWASP Top 10 Risk Model: Best Practices for Mitigating Online Vulnerabilities and Threats
¡¡¡¡[10] 2010 CWE/SANS Top 25 Most Dangerous Programming Errors
¡¡¡¡1. Ñо¿±³¾°
¡¡¡¡1.1 WEBÓ¦Óð²È«ÏÖ×´
¡¡¡¡Ëæ×Å»¥ÁªÍøµÄ·¢Õ¹£¬½ðÈÚÍøÉϽ»Òס¢Õþ¸®µç×ÓÕþÎñ¡¢ÆóÒµÃÅ»§ÍøÕ¾¡¢ÉçÇøÂÛ̳¡¢µç×ÓÉÌÎñµÈ¸÷Àà»ùÓÚHTMLÎļþ¸ñʽµÄÐÅÏ¢¹²ÏíÆ½Ì¨(WEBÓ¦ÓÃϵͳ)Ô½·¢ÍêÉÆ£¬ÉîÈëµ½ÈËÃÇÉú»îÖеĵãµãµÎµÎ¡£È»¶øWEBÓ¦Óù²ÏíÆ½Ì¨ÎªÎÒÃǵÄÉú»î´øÀ´±ãÀûµÄͬʱ£¬Ò²ÃæÁÙ×ÅǰËùδÓеÄÌôÕ½£ºWEBÓ¦ÓÃϵͳֱ½ÓÃæÏòInternet£¬ÒÔWEBÓ¦ÓÃÏµÍ³ÎªÌø°åÈëÇÖ·þÎñÆ÷ÉõÖÁ¿ØÖÆÕû¸öÄÚÍøÏµÍ³µÄ¹¥»÷ÐÐΪÒѳÉΪ×îÆÕ±éµÄ¹¥»÷ÊֶΡ£¾ÝGartnerµÄ×îе÷²é£¬Ä¿Ç°75%ÒÔÉϵĹ¥»÷ÐÐΪ¶¼»ùÓÚWEBÓ¦ÓòãÃæ¶ø·ÇÍøÂç²ãÃæ;ͬʱÊý¾ÝÏÔʾ£¬Èý·ÖÖ®¶þµÄWEBÕ¾µã¶¼Ï൱´àÈõ£¬Ò×Êܹ¥»÷¡£
¡¡¡¡¾ÝÖйú»¥ÁªÍøÓ¦¼±ÖÐÐÄ×îÐÂͳ¼ÆÏÔʾ£¬2009ÄêÎÒ¹ú´ó½µØÇøÕþ¸®ÍøÒ³Ôâ´Û¸Äʼþ³Ê´ó·ùÔö³¤Ç÷ÊÆ£¬±»´Û¸ÄÍøÕ¾µÄÊýÁ¿¾Í´ïµ½52225¸ö¡£2009Äê8Ô·ݣ¬¹«°²²¿¶Ô¹úÄÚÕþ¸®ÍøÕ¾µÄ½øÐа²È«´ó¼ì²é£¬·¢ÏÖ40%´æÔÚÑÏÖØ°²È«Â©¶´£¬°üÀ¨SQL×¢Èë¡¢¿çÕ¾½Å±¾Â©¶´µÈ¡£Óɴ˵¼ÖµÄÍøÒ³´Û¸Ä¡¢ÍøÒ³¹ÒÂí¡¢»úÃÜÊý¾ÝÍâйµÈ°²È«Ê¼þƵ·±·¢Éú£¬²»µ«ÑÏÖØÓ°Ïì¶ÔÍâÐÎÏó£¬ÓÐʱÉõÖÁ»áÔì³É¾Þ´óµÄ¾¼ÃËðʧ£¬»òÕßÑÏÖØµÄÉç»áÎÊÌ⣬ÑÏÖØÎ£¼°¹ú¼Ò°²È«ºÍÈËÃñÀûÒæ¡£
¡¡¡¡ÍøÒ³´Û¸Ä£ºÒ»Ð©²»·¨·Ö×ÓµÄÖØµã¹¥»÷¶ÔÏó¡£×éÖ¯ÃÅ»§ÍøÕ¾Ò»µ©±»´Û¸Ä(¼ÓÈëһЩÃô¸ÐµÄÏÔÐÔÄÚÈÝ)£¬Òý·¢½Ï´óµÄÓ°Ï죬ÑÏÖØÉõÖÁÔì³ÉÕþÖÎʼþ¡£
¡¡¡¡ÍøÒ³¹ÒÂí£ºÍøÒ³ÄÚÈݱíÃæÉÏûÓÐÈκÎÒì³££¬Êµ¼Ê±»ÍµÍµµÄ¹ÒÉÏÁËľÂí³ÌÐò¡£ÍøÒ³¹ÒÂíδ±Ø»á¸øÍøÕ¾´øÀ´Ö±½ÓË𺦣¬µ«È´»á¸øä¯ÀÀÍøÕ¾µÄÓû§´øÀ´¾Þ´óËðʧ¡£ÍøÕ¾Ò»µ©±»¹ÒÂí£¬ÆäȨÍþÐԺ͹«ÐÅÁ¦½«»áÊܵ½´ò»÷¡£
¡¡¡¡»úÃÜÊý¾ÝÍâй£ºÔÚÏßÒµÎñϵͳÖУ¬×ÜÊÇÐèÒª±£´æÒ»Ð©ÆóÒµ¡¢¹«ÖÚµÄÏà¹Ø×ÊÁÏ£¬ÕâЩ×ÊÁÏÍùÍùÉæ¼°µ½ÆóÒµÃØÃܺ͸öÈËÒþ˽£¬Ò»µ©Ð¹Â¶£¬»áÔì³ÉÆóÒµ»ò¸öÈ˵ÄÀûÒæÊÜË𣬿ÉÄÜ»á¸øµ¥Î»´øÀ´ÑÏÖØµÄ·¨ÂɾÀ·×¡£
¡¡¡¡1.2 ´«Í³°²È«·À»¤·½·¨
¡¡¡¡ÆóÒµ WEB Ó¦Óõĸ÷¸ö²ãÃæ£¬¶¼ÒÑʹÓò»Í¬µÄ¼¼ÊõÀ´È·±£°²È«ÐÔ¡£ÎªÁ˱£»¤¿Í»§¶Ë»úÆ÷µÄ°²È«£¬Óû§»á°²×°·À²¡¶¾Èí¼þ;ΪÁ˱£Ö¤Óû§Êý¾Ý´«Êäµ½ÆóÒµ WEB ·þÎñÆ÷µÄ´«Ê䰲ȫ£¬Í¨ÐŲãͨ³£»áʹÓà SSL¼¼Êõ¼ÓÃÜÊý¾Ý;·À»ðǽºÍ IDS/IPSÀ´±£Ö¤½öÔÊÐíÌØ¶¨µÄ·ÃÎÊ£¬²»±ØÒª±©Â¶µÄ¶Ë¿ÚºÍ·Ç·¨µÄ·ÃÎÊ£¬ÔÚÕâÀï¶¼»á±»×èÖ¹;ͬʱÆóÒµ²ÉÓÃÒ»¶¨µÄÉí·ÝÈÏÖ¤»úÖÆÊÚȨÓû§·ÃÎÊ WEB Ó¦Óá£
¡¡¡¡µ«ÊÇ£¬¼´±ãÓзÀ²¡¶¾±£»¤¡¢·À»ðǽºÍ IDS/IPS£¬ÆóÒµÈÔÈ»²»µÃ²»ÔÊÐíÒ»²¿·ÖµÄͨѶ¾
¡¡¡¡¹ý·À»ðǽ£¬±£»¤´ëÊ©¿ÉÒԹرղ»±ØÒª±©Â¶µÄ¶Ë¿Ú£¬µ«ÊÇ WEB Ó¦ÓÃËù±ØÐëµÄ¶Ë¿Ú£¬±ØÐ뿪·Å¡£Ë³Àûͨ¹ýµÄÕⲿ·ÖͨѶ£¬¿ÉÄÜÊÇÉÆÒâµÄ£¬Ò²¿ÉÄÜÊǶñÒâµÄ£¬ºÜÄѱæ±ð¡£Í¬Ê±£¬WEB Ó¦ÓÃÊÇÓÉÈí¼þ¹¹³ÉµÄ£¬ÄÇô£¬ËüÒ»¶¨»á°üº¬Â©¶´£¬ÕâЩ©¶´¿ÉÄܱ»¶ñÒâµÄÓû§ÀûÓã¬ËûÃÇͨ¹ýÖ´Ðи÷ÖÖ¶ñÒâµÄ²Ù×÷£¬»òÕß͵ÇÔ¡¢»òÕ߲ٿء¢»òÕßÆÆ»µ WEB Ó¦ÓÃÖеÄÖØÒªÐÅÏ¢¡£
¡¡¡¡1.3 ±¾ÎÄÑо¿¹Ûµã
¡¡¡¡ÍøÕ¾ÊÇ·ñ´æÔÚWEB Ó¦ÓóÌÐò©¶´£¬ÍùÍùÊDZ»ÈëÇÖºó²ÅÄܲì¾õ;ÈçºÎÔÚ¹¥»÷·¢¶¯Ö®Ç°Ö÷¶¯·¢ÏÖWEBÓ¦ÓóÌÐò©¶´?´ð°¸¾ÍÊÇ£ºÖ÷¶¯·ÀÓù£¬¼´ÀûÓÃWEBÓ¦ÓÃÈõµãɨÃè¼¼Êõ£¬Ö÷¶¯ÊµÏÖ¶ÔWEBÓ¦Óõݲȫ·À»¤¡£
¡¡¡¡±¾ÎÄÖ÷ÒªÕë¶ÔB/S¼Ü¹¹WEBÓ¦ÓÃϵͳÖеäÐÍ©¶´¡¢Á÷ÐеĹ¥»÷¼¼Êõ¡¢AJAXµÄÒþ²Ø×ÊÔ´»ñÈ¡¡¢ÑéÖ¤ÂëͼƬʶ±ðµÈ½øÐÐÑо¿£¬Ìá³öÁËÒ»ÖÖеÄÃæÏòWEBµÄ©¶´¼ì²â¼¼Êõ£¬Äܹ»½ÏÍêÕûµÃÌáÈ¡³öAJAXµÄ×ÊÔ´£¬ÓÐЧʶ±ðÑéÖ¤Âë¡£
¡¡¡¡2. WEBÓ¦Ó÷çÏÕɨÃè¼Ü¹¹
¡¡¡¡WEBÓ¦Ó÷çÏÕɨÃè¼¼Êõ¼Ü¹¹Ö÷Òª·ÖΪURL»ñÈ¡²ã¡¢¼ì²â²ã¡¢È¡Ö¤ÓëÉî¶ÈÆÀ¹À²ãÈý¸ö²ã´Î£¬ÆäÖУº
¡¡¡¡URL»ñÈ¡²ã£ºÖ÷Ҫͨ¹ýÍøÂçÅÀ³æ·½Ê½»ñÈ¡ÐèÒª¼ì²âµÄËùÓÐURL£¬²¢Ìá½»ÖÁ¼ì²â²ã½øÐзçÏÕ¼ì²â;
¡¡¡¡·çÏÕ¼ì²â²ã£º¶ÔURL»ñÈ¡²ãËùÌá½»µÄËùÓÐURLÒ³Ãæ½øÐÐSQL×¢Èë¡¢¿çÕ¾½Å±¾¡¢ÎļþÉÏ´«µÈÖ÷Á÷WEBÓ¦Óð²È«Â©¶´½øÐмì²â£¬²¢½«´æÔÚ°²È«Â©¶´µÄÒ³ÃæºÍ©¶´ÀàÐÍÌá½»ÖÁȡ֤ÓëÉî¶ÈÆÀ¹À²ã;
¡¡¡¡È¡Ö¤ÓëÉî¶ÈÆÀ¹À²ã£ºÕë¶Ô´æÔÚ°²È«Â©¶´µÄÒ³Ãæ£¬½øÐÐÉî¶È²âÊÔ£¬»ñÈ¡Ëù¶ÔÓ¦°²È«Â©¶´µÄÏÔÐÔ±íÏÖ£¬(Èç·çÏÕ¼ì²â²ã¼ì²â³ö¸ÃÍøÕ¾´æÔÚSQL×¢Èë©¶´£¬ÔòÖÁÉÙÐè¿É»ñÈ¡¸ÃÍøÕ¾µÄÊý¾Ý¿âÀàÐÍ);×÷Ϊ¸Ã©¶´´æÔÚµÄÖ¤¾Ý¡£
¡¡¡¡3. ÍøÂçÅÀ³æ¼¼Êõ¡ªURL»ñÈ¡
¡¡¡¡ÍøÂçÅÀ³æÊÇÒ»¸ö×Ô¶¯ÌáÈ¡ÍøÒ³µÄ³ÌÐò£¬Ëüͨ¹ýÖ¸¶¨µÄÓòÃû£¬´ÓÒ»¸ö»òÈô¸É³õÊ¼ÍøÒ³µÄURL¿ªÊ¼£¬»ñµÃ³õÊ¼ÍøÒ³ÉϵÄURL£¬ÔÚ×¥È¡ÍøÒ³µÄ¹ý³ÌÖУ¬²»¶Ï´Óµ±Ç°Ò³ÃæÉϳéȡеÄURL·ÅÈë¶ÓÁУ¬Ö±µ½Âú×ãϵͳµÄÒ»¶¨Í£Ö¹Ìõ¼þ¡£
¡¡¡¡ÍøÂçÅÀ³æµÄ¹¤×÷Á÷³Ì½ÏΪ¸´ÔÓ£¬Ê×Ïȸù¾ÝÒ»¶¨µÄÍøÒ³·ÖÎöËã·¨¹ýÂËÓëÖ÷ÌâÎ޹صÄÁ´½Ó£¬±£ÁôÓÐÓõÄÁ´½Ó²¢½«Æä·ÅÈëµÈ´ýץȡµÄURL¶ÓÁС£È»ºó£¬¸ù¾ÝËÑË÷²ßÂÔ´Ó¶ÓÁÐÖÐÑ¡ÔñÏÂÒ»²½Òª×¥È¡µÄÍøÒ³URL£¬²¢Öظ´£¬Ö±µ½´ïµ½Ô¤ÉèµÄÍ£Ö¹Ìõ¼þ¡£ÁíÍ⣬ËùÓб»ÅÀ³æ×¥È¡µÄÍøÒ³½«»á±»ÏµÍ³´æÖü£¬½øÐÐÒ»¶¨µÄ·ÖÎö¡¢¹ýÂË£¬²¢½¨Á¢Ë÷Òý£¬ÒÔ±ãÖ®ºóµÄ²éѯ¡¢¼ìË÷ºÍȡ֤¼°±¨±íÉú³Éʱ×öΪԴÊý¾Ý¡£
¡¡¡¡ÎªÁ˸ü¼Ó¸ßËÙ¡¢ÓÐЧµØ»ñÈ¡ÍøÕ¾ÖÐËùÓеÄURLÁ´½Ó£¬ÔÚ±¾WEBÓ¦Ó÷çÏÕɨÃè¼¼ÊõÑо¿ÖУ¬Ëù²ÉÓõÄÍøÂçÅÀ³æ¼¼Êõ×ÅÖØ½â¾öÒÔÏÂÈý¸öÎÊÌ⣺
¡¡¡¡(1) ¶ÔץȡĿ±êµÄÃèÊö»ò¶¨Òå;
¡¡¡¡(2) ¶ÔÍøÒ³ºÍÊý¾ÝµÄ·ÖÎöÓë¹ýÂË;
¡¡¡¡(3) ¶ÔURLµÄËÑË÷²ßÂÔ¡£
¡¡¡¡3.1 ÍøÒ³×¥È¡Ä¿±ê
¡¡¡¡ÍøÒ³ÈõµãÅÀ³æ¶ÔץȡĿ±êµÄÃèÊö»ò¶¨Òå»ùÓÚÄ¿±êÍøÒ³ÌØÕ÷ץȡ¡¢´æ´¢²¢Ë÷Òý£¬¶ÔÏóÊÇÍøÕ¾µÄÍøÒ³;ͨ¹ýÓû§ÐÐΪȷ¶¨µÄץȡĿ±êÑùÀý£¬ÆäÖУ¬ÍøÒ³ÌØÕ÷¿ÉÒÔÊÇÍøÒ³µÄÄÚÈÝÌØÕ÷£¬Ò²¿ÉÒÔÊÇÍøÒ³µÄÁ´½Ó½á¹¹ÌØÕ÷£¬ÒÔ¼°ÍøÒ³´úÂëµÄ½á¹¹ÌØÕ÷µÈ¡£
¡¡¡¡3.2 ÍøÒ³·ÖÎöËã·¨
¡¡¡¡»ùÓÚÍøÒ³ÄÚÈݵķÖÎöËã·¨Ö¸µÄÊÇÀûÓÃÍøÒ³ÄÚÈÝ(Îı¾¡¢Êý¾ÝµÈ×ÊÔ´)ÌØÕ÷½øÐеÄÍøÒ³ÆÀ¼Û¡£¸ÃËã·¨´ÓÔÀ´µÄ½ÏΪµ¥´¿µÄÎı¾¼ìË÷·½·¨£¬·¢Õ¹Îªº¸ÇÍøÒ³Êý¾Ý³éÈ¡¡¢»úÆ÷ѧϰ¡¢Êý¾ÝÍÚ¾ò¡¢ÓïÒåÀí½âµÈ¶àÖÖ·½·¨µÄ×ÛºÏÓ¦Ó᣸ù¾ÝÍøÒ³Êý¾ÝÐÎʽµÄ²»Í¬£¬½«»ùÓÚÍøÒ³ÄÚÈݵķÖÎöËã·¨£¬¹éÄÉÒÔÏÂÈýÀࣺµÚÒ»ÖÖÕë¶ÔÒÔÎı¾ºÍ³¬Á´½ÓΪÖ÷µÄÎ޽ṹ»ò½á¹¹ºÜ¼òµ¥µÄÍøÒ³;µÚ¶þÖÖÕë¶Ô´Ó½á¹¹»¯µÄÊý¾ÝÔ´¶¯Ì¬Éú³ÉµÄÒ³Ãæ£¬ÆäÊý¾Ý²»ÄÜÖ±½ÓÅúÁ¿·ÃÎÊ;µÚÈýÖÖÕë¶ÔµÄÊý¾Ý½çÓÚµÚÒ»ºÍµÚ¶þÀàÊý¾ÝÖ®¼ä£¬¾ßÓнϺõĽṹ£¬ÏÔʾ×ñÑÒ»¶¨Ä£Ê½»ò·ç¸ñ£¬ÇÒ¿ÉÒÔÖ±½Ó·ÃÎÊ¡£
¡¡¡¡3.3 ÍøÒ³×¥È¡²ßÂÔ
¡¡¡¡ÅÀ³æµÄץȡ²ßÂÔĿǰÆÕ±éµÄ²ÉÓõķ½·¨ÓУºÉî¶ÈÓÅÏÈ¡¢¹ã¶ÈÓÅÏÈ¡¢×î¼ÑÓÅÏÈÈýÖÖ¡£ÓÉÓÚÉî¶ÈÓÅÏÈÔںܶàÇé¿öÏ»ᵼÖÂÅÀ³æµÄÏÝÈë(trapped)ÎÊÌâ£¬ÍøÒ³ÈõµãÅÀ³æÄ¿Ç°²ÉÓõÄÊÇÉî¶ÈÓÅÏȺÍ×î¼ÑÓÅÏÈ·½·¨×éºÏ·½·¨¡£
¡¡¡¡Éî¶ÈÓÅÏÈËÑË÷²ßÂÔ£ºÖ¸ÔÚץȡ¹ý³ÌÖУ¬ÔÚÍê³Éµ±Ç°²ã´ÎµÄËÑË÷ºó£¬²Å½øÐÐÏÂÒ»²ã´ÎµÄËÑË÷¡£ÍøÒ³ÈõµãÅÀ³æ²ÉÓÃÉî¶ÈÓÅÏÈËÑË÷·½·¨Îª¸²¸ÇÖ¸¶¨ÍøÕ¾´æÔÚÈõµãµÄÍøÒ³¡£Æä»ù±¾Ë¼ÏëÊÇÈÏΪÓë³õʼURLÔÚÒ»¶¨Á´½Ó¾àÀëÄÚµÄÍøÒ³¾ßÓÐÈõµãÏà¹ØÐԵĸÅÂʺܴó;²¢²ÉÓý«Éî¶ÈÓÅÏÈËÑË÷ÓëÍøÒ³¹ýÂ˼¼Êõ½áºÏʹÓã¬ÏÈÓÃÉî¶ÈÓÅÏȲßÂÔ×¥È¡ÍøÒ³£¬ÔÙ½«ÆäÖÐÎ޹صÄÍøÒ³¹ýÂ˵ô¡£ÕâЩ·½·¨µÄȱµãÔÚÓÚ£¬Ëæ×Å×¥È¡ÍøÒ³µÄÔö¶à£¬´óÁ¿µÄÎÞ¹ØÍøÒ³½«±»ÏÂÔØ²¢¹ýÂË£¬Ëã·¨µÄЧÂʽ«±äµÍ£¬Òò´ËÍøÒ³ÈõµãÅÀ³æ²ÉÓÃÁË×î¼ÑÓÅÏÈËÑË÷²ßÂÔÀ´ÃÖ²¹Õâ¸öȱµã¡£
¡¡¡¡×î¼ÑÓÅÏÈËÑË÷²ßÂÔ£º×î¼ÑÓÅÏÈËÑË÷²ßÂÔ²ÉÓûùÓÚÍøÒ³ÄÚÈݵÄÍøÒ³·ÖÎöËã·¨£¬Ô¤²âºòÑ¡URLÓëÄ¿±êÍøÒ³µÄÏàËÆ¶È£¬»òÓëÖ÷ÌâµÄÏà¹ØÐÔ£¬²¢Ñ¡È¡ÆÀ¼Û×îºÃµÄÒ»¸ö»ò¼¸¸öURL½øÐÐץȡ¡£ËüÖ»·ÃÎʾ¹ýÍøÒ³·ÖÎöËã·¨Ô¤²âΪ¡°ÓÐÓá±µÄÍøÒ³¡£
¡¡¡¡4. ©¶´¼ì²â¼¼Êõ¡ª·çÏÕ¼ì²â
¡¡¡¡4.1 Ö÷ÒªWEBÓ¦Óé¶´
¡¡¡¡4.1.1 OWASPÊ®´ó°²È«Íþв
¡¡¡¡¿ª·ÅʽWEBÓ¦ÓóÌÐò°²È«ÏîÄ¿(OWASP£¬Open Web Application Security Project)ÊÇÒ»¸ö×éÖ¯£¬ËüÌṩÓйؼÆËã»úºÍ»¥ÁªÍøÓ¦ÓóÌÐòµÄ¹«Õý¡¢Êµ¼Ê¡¢Óгɱ¾Ð§ÒæµÄÐÅÏ¢¡£ÆäÄ¿µÄÊÇÐÖú¸öÈË¡¢ÆóÒµºÍ»ú¹¹À´·¢ÏÖºÍʹÓÿÉÐÅÀµÈí¼þ¡£ÃÀ¹úÁª°îóÒ×ίԱ»á(FTC)Ç¿ÁÒ½¨ÒéËùÓÐÆóÒµÐè×ñÑOWASPËù·¢²¼µÄÊ®´óWebÈõµã·À»¤ÊØÔò¡¢ÃÀ¹ú¹ú·À²¿ÒàÁÐΪ×î¼ÑʵÎñ£¬¹ú¼ÊÐÅÓÿ¨×ÊÁϰ²È«¼¼ÊõPCI±ê×¼¸ü½«ÆäÁÐΪ±ØÐë²ÉÓÃÓÐЧ´ëÊ©½øÐÐÕë¶ÔÐÔ·À·¶¡£
¡¡¡¡Figure2 2010 The top 10 security threat of OWASP
¡¡¡¡±àºÅ©¶´Ãû³Æ²úÉúÔÀí
¡¡¡¡1×¢Èë©¶´Ó¦ÓóÌÐòδ¶ÔÓû§ÊäÈëµÄÊý¾Ý¿â²éѯÓï¾ä½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡2¿çÕ¾½Å±¾Â©¶´Ó¦ÓóÌÐòδ¶ÔÓû§ÊäÈëµÄÖ´ÐдúÂë½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡3ÈÏÖ¤ºÍ»á»°¹ÜÀíÒþ»¼Ó¦ÓóÌÐòÖеÄÈÏÖ¤ºÍ»á»°¹ÜÀí¹¦ÄÜδµÃµ½ÕýÈ·Ö´ÐÐ
¡¡¡¡4Ö±½Ó¶ÔÏóÒýÓÃÒþ»¼Ó¦ÓóÌÐòÖ±½ÓÒýÓÃÍⲿ¶ÔÏóʱ£¬Î´½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡5¿çÕ¾ÇëÇóαÔìWEBÕ¾µã¶ÔÓû§ä¯ÀÀÆ÷½øÐÐÈÏÖ¤¶ø·ÇÓû§±¾Éí
¡¡¡¡6°²È«ÅäÖôíÎóÓ¦ÓóÌÐò¡¢WEB·þÎñÆ÷¡¢Öмä¼þµÈδ½øÐкÏÀíµÄ°²È«ÅäÖÃ
¡¡¡¡7ÏÞÖÆURL·ÃÎÊʧ°ÜÒþ²ØÒ³Ãæ·ÃÎÊ¿ØÖÆÊ§Ð§
¡¡¡¡8ÉÐδÈÏÖ¤µÄ·ÃÎÊÖØ¶¨ÏòURLÖØ¶¨Ïòδ½øÐкϷ¨ÐÔ¼ìÑé
¡¡¡¡9ÃÜÂë´æ´¢²»µ±Ó¦ÓóÌÐòδʹÓÃÇ¡µ±µÄ¼ÓÃÜËã·¨±£»¤Ãô¸ÐÊý¾Ý
¡¡¡¡10´«Êä²ã±£»¤²»×ãδʹÓÃÇ¡µ±µÄ¼ÓÃÜËã·¨±£»¤´«Êä¹ý³ÌÖеÄÃô¸ÐÊý¾Ý
¡¡¡¡±í1 2010 OWASPÊ®´ó°²È«ÍþвÔÀí½éÉÜ
¡¡¡¡Table 1 The principle of OWASP top 10 security threat
¡¡¡¡4.1.2 CWE/SANS 25´óΣÏÕ±à³Ì´íÎó
¡¡¡¡Ò»°ãÈõµãÁоÙ(Common Weakness Enumeration CWE)ÊÇÓÉÃÀ¹ú¹ú¼Ò°²È«¾ÖÊ×Ïȳ«ÒéµÄÕ½ÂÔÐж¯£¬¸ÃÐж¯µÄ×éÖ¯×î½ü·¢²¼ÁË¡¶2010ÄêCWE/SANS×îΣÏյijÌÐòÉè¼Æ´íÎó(PDF)¡·Ò»ÎÄ£¬ÆäÖÐÁоÙÁË×÷ÕßÈÏΪ×îÑÏÖØµÄ25ÖÖ´úÂë´íÎó£¬Í¬Ê±Ò²ÊÇÈí¼þ×îÈÝÒ×Êܵ½¹¥»÷µÄµã¡£OWASP Top 10£¬Ëù¹Ø×¢µÄÊÇWEBÓ¦ÓóÌÐòµÄ°²È«·çÏÕ£¬¶øCWEµÄTop 25µÄ¸²¸Ç·¶Î§¸ü¹ã£¬°üÀ¨ÖøÃûµÄ»º³åÇøÒç³öȱÏÝ¡£CWE»¹Îª³ÌÐòÔ±ÌṩÁ˱àд¸ü°²È«µÄ´úÂëËùÐèÒªµÄ¸üÏêϸµÄÄÚÈÝ¡£
¡¡¡¡4.2 WEBÓ¦Óé¶´¹æÔò¿â
¡¡¡¡ÎÒÃǾ¹ý¶àÄêWEBÓ¦Óð²È«ÁìÓòµÄÑо¿£¬½áºÏ¹úÄÚÍâÓÅÐã×éÖ¯µÄ¾µä×ܽᡢÃèÊöÒÔ¼°ÑéÖ¤£¬½¨Á¢ÆðÒ»Ì×¼¸ºõº¸ÇËùÓпÉÄÜ´øÀ´°²È«ÍþвµÄWEBÓ¦Óð²È«Â©¶´µÄ·á¸»µÄWEBÓ¦Óé¶´¹æÔò¿â£¬°üÀ¨¸÷¸ö°²È«Â©¶´µÄ²úÉúÔÀí¡¢¼ì²â¹æÔò¡¢¿ÉÄÜΣº¦¡¢Â©¶´ÑéÖ¤µÈµÈ£¬Í¨¹ý×Ô¶¯»¯ÊֶΣ¬¶ÔÍøÂçÅÀ³æËù»ñÈ¡µ½µÄÍøÕ¾Ò³Ãæ½øÐÐÖðÒ»¼ì²â¡£Ëæ×Ű²È«Â©¶´µÄ²»¶Ï²úÉú¡¢¹¥»÷ÊֶεIJ»¶ÏÑݱ䣬WEBÓ¦Óé¶´¹æÔò¿âÒ²²»¶Ï»ñµÃ³äʵºÍ¸Ä½ø¡£
¡¡¡¡5. Ä£ÄâÉøÍ¸²âÊÔ¡ªÈ¡Ö¤ÓëÉî¶ÈÆÀ¹À
¡¡¡¡5.1 Ä£ÄâÉøÍ¸²âÊÔ
¡¡¡¡Í¨³£ÎÒÃÇËùÀí½âµÄÉøÍ¸²âÊÔ£¬ÊÇÖ¸¾ßÓзḻ°²È«¾ÑéµÄ°²È«×¨¼Ò£¬ÔÚ¶ÔÄ¿±êϵͳһÎÞËùÖªµÄÇé¿öÏ£¬Í¨¹ýÊÕ¼¯ÏµÍ³ÐÅÏ¢£¬½øÐоßÓÐÕë¶ÔÐԵݲȫ¹¥»÷ºÍÈëÇÖ£¬»ñȡϵͳ¹ÜÀíȨÏÞ¡¢Ãô¸ÐÐÅÏ¢µÄÒ»¸ö¹ý³Ì¡£Õâ°üÀ¨Èý¸öÒªËØ£º·á¸»°²È«¾ÑéµÄ°²È«×¨¼Ò(ÈË)¡¢ÏµÍ³Â©¶´(©¶´¼ì²â)¡¢È¨ÏÞ»ñÈ¡»òÐÅÏ¢»ñÈ¡(ȡ֤)¡£ÓÉÓÚ×éÖ¯ÄÚ²¿Ò»°ã²¢²»¾ß±¸¾ßÓÐ×¨ÒµÉøÍ¸¼¼ÊõµÄ°²È«×¨¼Ò£¬ËùÒÔͨ³£ÒÀ¿¿ÓÚµÚÈý·½°²È«¹«Ë¾¡£ÉøÍ¸²âÊԵĹý³ÌÖУ¬ËäȻǩÊðÁËһϵÁеı£ÃÜÐÒ飬µ«ÊDz»¿É±ÜÃâµØ»á·¢Éú×éÖ¯ÄÚ²¿ÐÅϢй¶µÄ·çÏÕ¡£
¡¡¡¡½áºÏ´óÁ¿ÓÅÐ㰲ȫר¼ÒµÄÉøÍ¸²âÊÔ¾Ñ飬ÒÔ¼°¶Ô¸÷ÀàWEBÓ¦Óð²È«Â©¶´µÄÏÔÐÔ·ÖÎö(¼´Èç¹û´æÔڸé¶´£¬Æä¾ßÌå±íÏÖÊÇʲô)£¬ÔÚÍê³ÉÍøÕ¾Öи÷¸öÒ³ÃæµÄ©¶´¼ì²âºó£¬¶ÔËù´æÔڵݲȫ©¶´½øÐÐÑéÖ¤£¬¼´»ñÈ¡ÏàÓ¦µÄȨÏÞ»òÐÅÏ¢£¬´ïµ½Ä£ÄâÉøÍ¸²âÊÔµÄЧ¹û£¬²»½ö¿ÉÒÔ´ó´ó½µµÍ©¶´¼ì²âµÄÎó±¨ÂÊ£¬×¼È·³ÊÏָé¶´µÄ´æÔÚºÍȡ֤;¶øÇÒ¿ÉÒÔÔÚÒ»¶¨³Ì¶ÈÉÏÌæ´úµÚÈý·½µÄÉøÍ¸²âÊÔÈËÔ±£¬×ÔÖ÷½øÐа²È«É¨Ã裬½µµÍÐÅϢй¶µÄ·çÏÕ¡£
¡¡¡¡5.2 °²È«Â©¶´È¡Ö¤·ÖÎö
¡¡¡¡¶Ô°²È«Â©¶´µÄȡ֤·ÖÎö£¬ÔÚ´ËÒÔSQL×¢Èë©¶´ÎªÀý½øÐмòÒªÃèÊö¡£
¡¡¡¡SQL×¢ÈëÀàÐ͸ù¾ÝÔÀí¿ÉÒÔ·ÖΪÒÔϼ¸ÀࣺÊýÖµÐÍ¡¢×Ö·ûÐÍ¡¢ËÑË÷ÐÍ¡¢´íÎóÐÍ¡¢ÔÓÏîÐÍ¡£ÔÚ¼ì²â³öÏà¹Ø×¢Èë©¶´ºó, ¸ù¾Ý²»Í¬ºǫ́Êý¾Ý¿â, ²ÉÓò»Í¬µÄÊý¾Ý¿â×¢Èë²ßÂÔ°üÀ´½øÐнøÒ»²½µÄȡ֤ºÍÉøÍ¸¡£Í¼2½²ÊöÁËSQL×¢Èë¼ì²âµÄÁ÷³Ì£ºÍ¨¹ýÍøÂçÅÀ³æ»ñÈ¡µÄURL£¬³ÉΪSQL×¢Èë¼ì²âµÄÊäÈ룬ͨ¹ýͼ2Á÷³ÌÍê³ÉSQL×¢Èë¡¢ÉøÍ¸ºÍÉ󼯡£
¡¡¡¡Í¼2 SQL×¢Èë¼ì²âµÄÁ÷³Ì
¡¡¡¡Figure2 Detection Flow Of SQL Injection
¡¡¡¡²Î¿¼ÎÄÏ×
¡¡¡¡[1] ºúÓÂ ÍøÂçÐÅϢϵͳ·çÏÕÆÀ¹À·½·¨Ñо¿ ËÄ´¨´óѧ£¬2007.
¡¡¡¡[2] ³Ì½¨»ª ÐÅÏ¢°²È«·çÏÕ¹ÜÀí¡¢ÆÀ¹ÀÓë¿ØÖÆÑо¿ ¼ªÁÖ´óѧ 2008.
¡¡¡¡[3] ³Â¹â ÐÅϢϵͳÐÅÏ¢°²È«·çÏÕ¹ÜÀí·½·¨Ñо¿ ¹ú·À¿ÆÑ§¼¼Êõ´óѧ 2006.
¡¡¡¡[4] °²ÓÀР»ùÓÚ·çÏÕµÄWebÓ¦ÓòâÊÔÑо¿ ÖØÇì´óѧ 2002.
¡¡¡¡[5] »ÆÃ÷£¬ÁºÐñ ASPÐÅϢϵͳÉè¼ÆÓ뿪·¢ÊµÀý »úе¹¤Òµ³ö°æÉç 2004
¡¡¡¡[6] ÆôÃ÷¹¤×÷ÊÒ ASPÍøÂçÓ¦ÓÃϵͳʵÓÿª·¢¼¼Êõ ÈËÃñÓʵç³ö°æÉç 2004
¡¡¡¡[7] S.Raghavan and H.Garcia- Molina. Crawling the hidden web [C]. Proceedings of the 27th International Conference on Very Large DataBases (VLDB), 2001.
¡¡¡¡[8] L.Barbosa and J.Freire. Anadaptive crawler for locating hidden-web entry points [C]. Proc. of the 16th international conference on World Wide Web, 2007:441-450.
¡¡¡¡[9] Improving Web Application Security Using New 2010 OWASP Top 10 Risk Model: Best Practices for Mitigating Online Vulnerabilities and Threats
¡¡¡¡[10] 2010 CWE/SANS Top 25 Most Dangerous Programming Errors