字符转为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编码后,进行攻击呢?明文攻击很容易被拦截,但是转义后则成功的概率比较大。
但是网上的资料,都是介绍攻击的原理,很少有说怎么将攻击代码转为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转为Ansi 字符的方法
- java如何得到字符的unicode编码,对应js的charCodeAt()方法
- php将unicode编码转为utf-8方法
- C#: 中文和UNICODE字符转换方法 及仿安居客地图实现。。。错误 GMap2未定义 解决办法 -VB 中文转为UNICODE字符
- php将unicode编码转为utf-8方法
- JavaScript - length用法、unicode编码、找某字符(串)索引相关方法
- js中将 整数转成字符,,将unicode 编码后的字符还原出来的方法。
- [系统] Solr 介绍以及 XML 中特殊字符 Unicode 编码
- 字符编码:Unicode/UTF-8/UTF-16/UCS/Endian/BMP/BOM
- 关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- JavaScript 实现字符与unicode编码的相互转换
- 字符编码笔记:ASCII,Unicode和UTF-8
- JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础[引]
- 字符编码笔记:ASCII,Unicode和UTF-8
- C#中文和UNICODE字符转换方法
- 字符编码笔记:ASCII,Unicode和UTF-8
- 字符编码简介:ASCII,Unicode,UTF-8,GB2312
- 计算机中字符的Unicode编码,简要介绍UCS、UTF、BMP、BOM,字序等名词
- 查看中文字符的unicode编码
- 在J2ME实现UTF-8转换为Unicode编码的方法