您的位置:首页 > 其它

字符转为Unicode编码的小方法

2014-09-04 13:17 218 查看
关于软件系统漏洞的问题,其中最常见的一个是跨站脚本漏洞,网上有很多相关的资料。

突发奇想,怎么能将写好的攻击代码转为Unicode编码后,进行攻击呢?明文攻击很容易被拦截,但是转义后则成功的概率比较大。

但是网上的资料,都是介绍攻击的原理,很少有说怎么将攻击代码转为Unicode编码,以下是同事写的一个小方法,供大家写拦截功能时,测试用。

不建议使用该代码做非法勾当!后果自负。

package com;

/**
* 字符转Unicode编码(UTF-16)
*/
public class UnicodeUtil {
public static void main(String[] args) {
String str = "<script>";

char [] chars = str.toCharArray();
String ret = "";

for (int i = 0; i < chars.length; i++) {
ret += "%";
ret += transferStr2Utf16(String.valueOf(chars[i]));
}
System.out.println(ret);
}

private static String transferStr2Utf16(String args) {
char [] chars = "0123456789ABCDEF".toCharArray();
StringBuilder sb = new StringBuilder("");
byte[] bs = args.getBytes();
int bit;
for (int i = 0; i < bs.length; i++) {
bit = (bs[i] & 0x0f0) >> 4;
sb.append(chars[bit]);
bit = bs[i] & 0x0f;
sb.append(chars[bit]);
sb.append(' ');
}
return sb.toString().trim();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unicode 编码 漏洞