百度空间 | 百度首页 
               
 
查看文章
 
get-iframe-Content()
2008-12-06 20:53

记得以前有的人说我搞的东西老是比别人要慢那么一些,的确是这样的.因为先要把自己那些东西搞完,才好去搞其他的东西,如果老是跟风的话,自己的东西没搞好.其他的东西还不一定搞得出什么新东西.

xgf上 小g/余弦 他们又把img那个探测本地文件[主要是网马用来探测杀毒软件等],这个东西其实ie7发布没多久就有人提出了[比我们那个用classid去判断杀毒软件的方法好多了:)].其实这个东西我一直没有认真去测试下,然后看到lcx老哥的blog上又提到了这个东西,而且还可以得到一些系统文件版本信息.


首先我们知道src=''是可以跨域访问文件的,比如img/iframe/script等等. 如:

<iframe src="res://shell32.dll/16/1"></iframe>

这样我们可以看到iframe的页里显示了shell32.dll的版本信息.
[具体的res://shell32.dll/16/1的意义请参考lcx的blog]

那么我们是不是有可能得到iframe子页里的内容呢?自己开始测试n久也没找出杂搞,只好请教luogg 余弦等专业选手了. 于是余弦给出了如下代码:

<iframe id="tIframe1" name="tIframe1" src="blank1.html"></iframe>
<script>
window.onload = (function () {
var iObj = document.getElementById('tIframe1').contentWindow;
alert(iObj.document.getElementsByTagName('h1')[0].firstChild.data);
});
</script>

blank1.html里的内容:
<h1>哈哈</h1>

可以取dom结构里的东西了,但是我们要得到的东西是没有dom结构的,所以这个脚本也不行.通过不端人肉搜索终于在大牛pdp的blog[1][2]找到了一个函数:

<script>
function getContent(iframe) {
    var content = '';
    if (iframe.contentDocument) {
      content = iframe.contentDocument.body.innerHTML;
    } else if (iframe.contentWindow) {
      content = iframe.contentWindow.document.body.innerHTML;
    } else if (iframe.document) {
      content = iframe.document.body.innerHTML;
    }
    alert(content);
}
</script>

从pdp的blog里可以看出来这个还是有历史问题的file://跨域了.我们现在可以得到同域下iframe子页里的内容了,那可以跨域得到内容不呢?

<iframe src="res://shell32.dll/16/1" onload="getContent(this)"></iframe>
<iframe src="http://www.google.com" onload="getContent(this)"></iframe>
<script>
function getContent(iframe) {
    var content = '';
    if (iframe.contentDocument) {
      content = iframe.contentDocument.body.innerHTML;
    } else if (iframe.contentWindow) {
      content = iframe.contentWindow.document.body.innerHTML;
    } else if (iframe.document) {
      content = iframe.document.body.innerHTML;
    }
    alert(content);
}
</script>

经过测试得到不管是本地域,还是Internet的域都是没有权限的[-> content = iframe.contentWindow.document.body.innerHTML;]

看来这个思路我们得不到什么了.那么还有什么有前途的东西没呢.这里提纲个思路,除了版本 图标等信息外,还有很多的系统dll文件里还有js/html/xml等的东西,或许我们通过调用他们可以干点啥 :)

比如html里如果有个什么dom类型的xss呢? 还有那些js里的函数,得到xml里的数据..... 那么杂找这么些dll呢,如果你有时间可以用资源提取的工具[如:resource hacker]去分析,如果有想法的人应该首先想到去看看ie的一些dll 比如:ieframe.dll:

<script src="res://ieframe.dll/23/PSTEMPLATE.JS"></script>

如果你有发现点啥,记得告诉我一声 :)


类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2008-12-07 11:31 | 回复
res协议过时了,某牛有更好的TIPS。
 
3
2008-12-07 19:54 | 回复
to qz bs那些不共享的 :) to linx2008 是啊 很多都被挖了
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu