标题:
[讨论]寻求一段最短的js代码
[打印本页]
作者:
MAYA
时间:
2008-7-25 14:00
标题:
[讨论]寻求一段最短的js代码
[讨论]寻求一段最短的js代码
文章作者:Inking
信息来源:邪恶八进制信息安全团队(
www.eviloctal.com
)
在跨站中我们经常会利用style属性来引入js代码,假设我的js代码很多,而且这里的插入有字符长短的限制,那我们便会用远程方式调用,现在想向大家请教一下如何的调用方式才是最短的
我现在的方式:
createElement,然后appendChild
本来想用innerHTML,但是发现用innerHTML引入这样的代码后"<script src=a.js></script>"a.js好像并不被调用或者这样的方式也不行.
document.getElementById('test').innerHTML+="<script>alert('a')</script>"
Inking's Blog http://www.inkings.cn
帖子64 精华
0
积分3162 阅读权限100 在线时间116 小时 注册时间2007-5-26 最后登录2008-7-15
查看详细资料
TOP
赚更多的钱
inking
荣誉会员
作者:
网上网下
时间:
2008-7-25 14:00
额...这个问题放了这么多天还是没有人回答,我提出问题的当天自己就解决了,还是我自己来回答吧
我之前提出这个问题主要是因为利用的漏洞是ubb漏洞,当插入某些js代码时页面本身的js代码会干扰我的js的运行,所以我采用了10进制加密的方法来绕过,但是当十进制加密后代码过长,无法写入了,所以需要一段更加短小的代码来代替.但是找了很久也找不到,后来在langouster在邪八的文章<一个不为人知的感染几百万校内网用户的蠕虫分析>中利用蠕虫的作者的倒着写入js代码,然后用vbs的StrReverse函数倒回来,然后用execute来执行,这样页面原来的代码就不会干扰我的js代码,而且也省下了代码
如果大家有更加好的办法请分享呵呵.有些问题虽然简单,但是有时候也能通过回答发现自己在某些地方的不足的^_^Inking's Blog http://www.inkings.cn
帖子64 精华
0
积分3162 阅读权限100 在线时间116 小时 注册时间2007-5-26 最后登录2008-7-15
查看详细资料
TOP
赚更多的钱
bink
荣誉会员
作者:
kinsaang
时间:
2008-7-25 14:00
我很菜,不是很明白,可否麻烦楼主举个例子?很好.
帖子660 精华
4
积分5585 阅读权限100 性别男 在线时间247 小时 注册时间2005-9-2 最后登录2007-12-4
查看详细资料
TOP
软件项目外包
inking
荣誉会员
作者:
hjh
时间:
2008-7-25 14:00
引用:
引用第2楼bink于2007-11-13 10:46发表的 :
我很菜,不是很明白,可否麻烦楼主举个例子?
额...可能是我说得不明白吧
比如我要在个人签名档里面插入这段蠕虫代码
复制内容到剪贴板
代码:
[color=green" style="background:url(javascript:eval(String.fromCharCode(这里为我要执行的js代码的十进制)))]
由于我的js代码里面含有url地址,页面里转换ubb的js代码会误将我的url看作ubb代码,所以整个js语句就乱掉了,所以我将js代码转换成十进制.但是转成十进制后代码变长了3倍多
如果用vbs就能够将代码缩短到和不转换时差不多,代码如下
复制内容到剪贴板
代码:
[color=green" style='background:url(vbscript:execute(StrReverse("这里为我的js代码")))']
这样里面的
http://...
就变成了ptth,页面本身的js代码就不会将http地址转换成
<a href=http://...>
http://...
</a>了,因为它已经认不出了Inking's Blog http://www.inkings.cn
帖子64 精华
0
积分3162 阅读权限100 在线时间116 小时 注册时间2007-5-26 最后登录2008-7-15
查看详细资料
TOP
bink
荣誉会员
作者:
枫枫
时间:
2008-7-25 14:00
我明白了,UBB的解析程序我写过,呵呵,至于代码压缩嘛就像你上面那样,脚本语言不单是JS,VBS 也行滴。换一个语言他的编码方式就可以用另外一种了。很好.
帖子660 精华
4
积分5585 阅读权限100 性别男 在线时间247 小时 注册时间2005-9-2 最后登录2007-12-4
查看详细资料
TOP
让女孩一夜变的更有女人味
ninty
晶莹剔透§烈日灼然
作者:
麦兜
时间:
2008-7-25 14:00
innerHTML 无法实现 只能通过createElement再appendChild来实现
就算innerHTML能实现。
innerHTML+="<script>alert('a')</script>"
你这样写也肯定是不对的 。 你可以在editplus写一下这些代码 就会发现字符串里的</script>变色了。
浏览器会把它当做是<script>标签的结束标记。
应该这么写才对"<script>alert("a")</"+"script>"
===========================================
菜鸟之见 高手莫笑。。
帖子10 精华
0
积分40 阅读权限40 性别男 在线时间26 小时 注册时间2007-11-10 最后登录2008-6-28
查看详细资料
TOP
良辰择日,预测咨询,公司改名,权威易经
ninty
晶莹剔透§烈日灼然
作者:
terry
时间:
2008-7-25 14:00
首先对于我的无知 向楼主道歉。
上面我说的太绝对了:innerHTML 无法实现
今天知道了innerHTML的实现方法
可以这样做
document.body.innerHTML += "<script defer>alert('动态添加的JS代码')</"+"script>";
注意加了个defer属性
=====================================================================
BAIDU到的信息:
defer属性指示该段脚本不会改变文档的内容。在文档完全显示之前,js解释器不执行这段代码。
因为js不允许动态生成js代码,所以去掉defer后产生的代码会被认为是非法的。加上defer后的代码,会被解释器认为是载入页面的时候跳过去的,可以执行。
帖子10 精华
0
积分40 阅读权限40 性别男 在线时间26 小时 注册时间2007-11-10 最后登录2008-6-28
查看详细资料
TOP
让女孩一夜变的更有女人味
我心打烊
晶莹剔透§烈日灼然
欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com./)
Powered by Discuz! 7.2