Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1445111
  • 博文数量: 47
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-14 15:37
文章分类

全部博文(47)

文章存档

2008年(47)

我的朋友
最近访客

分类: 系统运维

2008-06-15 21:17:42

最短的跨站代码   [ 日期:2007-06-26 ]   [ 来自:影子鹰 ]

那天剑心问我,最短的跨站语句是多少?要放在以前,我一定会这样想,正常的跨站代码: ,查一下,一共27个字符。嘿嘿,不过,这之前我在《黑客手册》上看到了他的一篇文章,《疯狂的跨站之行》,在这其中提到了跨站语句的另一种方法:









       将这些语句分别写入,只要所写入的语句在一个页面中显示,那么这些代码最后就会引入到变量z中,总到一块就是:
document.write(",用+=来代替=z+,嘿嘿,又可以减少一个字符,25个字符,不过,也好伤心,我好像只能在别人的基础上面有所突破!:( )。回复剑心后,他竟回了一个笑脸,我感觉这家伙一定又找出了更短的跨站方法。/jmdcw/

       果不其然,今天翻开《黑客手册》第九期中的《phpwind漏洞之行》(因为一些原因,好久没有仔细看过书了),在其中提到了更短的跨站代码,如下:

       这其中的/*和*/是script的注释语句,将这些语句分别提交,同样的条件是这些提交的代码必须在一个页面中,这样最后所显示的就是:

       那么这个的最短的语句是多少呢?貌似

       下面就用剑心的方法来进行拆分:

       中间的....表示的字符和前面的一样,这其中最长的一个语句是:*/fromCharCode/*    ,16个字符,因为这是script自已保留的函数名,拆分的话,就不能运行了,由此可以看出,最小的跨站语句是由所采用的函数来定的。

 

 

阅读(594) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~