关于软件系统漏洞的问题,其中最常见的一个是跨站脚本漏洞,网上有很多相关的资料。
突发奇想,怎么能将写好的攻击代码转为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(); } }
时间: 2024-10-21 11:46:56