小编abb*_*abb的帖子

如何在Java和JavaScript之间传递字节数组

我需要从Javascript访问SecureRandom Java Object.我的最终目标是从PRNG获取4个字节并将其转换为Javascript整数变量.根据http://download.oracle.com/javase/1.4.2/docs/api/java/security/SecureRandom.html,以下两行Java代码应该抓住4个随机字节:

byte bytes[] = new byte[4];
random.nextBytes(bytes);
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何1)分配适合传递给Java方法的字节数组2)然后将该数组解析为整数

到目前为止,我已经设法getSeed()方法返回一个随机字节数组.当我在Firefox中呈现下面提供的HTML代码时,它显示"[B @ 16f70a4",它似乎是指针或其他东西.

<script>
var sprng = new java.security.SecureRandom();
random = sprng.getSeed(4);
document.write(random + "<br/>\n");
</script>
Run Code Online (Sandbox Code Playgroud)

这让我觉得我成功实例化并访问了Java类,但是在类型转换方面存在问题.

任何人都可以帮我写allocateJavaByteArray(N)convertJavaByteArrayToInt(N)让以下代码工作:

var sprng = new java.security.SecureRandom();
var nextBytes = allocateJavaByteArray(4);
srng.nextBytes(nextBytes);
var nextInt = convertJavaByteArrayToInt(4);
Run Code Online (Sandbox Code Playgroud)

先感谢您.

javascript java arrays byte

6
推荐指数
1
解决办法
6953
查看次数

这些tcl错误表明不安全的代码?

我正在对具有嵌入式TCL解释器的系统进行安全测试.系统从Internet接收输入(HTTP),解析它并传递给可自定义的TCL脚本.在模糊测试(在HTTP头中发送二进制垃圾)期间,我注意到日志中存在以下错误:

TCL错误:在执行"foreach header [XXXXX] {}"时,在引号中使用"{} x"而不是空格列出元素

要么

TCL错误:执行"foreach header [XXXXX] {}"时列表中无法匹配的打开引号

这里XXXXX是一个返回HTTP标头数组的命令,由系统解析.很抱歉混淆了真正的命令,我希望你明白我不想在供应商被告知这个问题之前公开过多的细节(如果结果是一个问题).

产生错误的TCL代码非常简单:

foreach标题[XXXXX] {}

据我所知,HTTP解析是在TCL之外完成的,解析后的值可以通过自定义命令(可能实现为TCL扩展)访问TCL.

所以我的问题是:

  1. 这些错误是系统安全问题的迹象,例如用户输入验证不足吗?

  2. 如果是,可以通过发送系统特制请求(一种代码注入攻击)来利用这种情况来执行任意TCL语句吗?

  3. 有没有"安全TCL编码实践"文件?我找不到任何东西.

validation tcl code-injection fuzz-testing

3
推荐指数
1
解决办法
733
查看次数