『在线编码转换』小工具
『在线编码转换』小工具
java.lang.Runtime.exec() Payload Workarounds
偶尔命令执行有效负载 Runtime.getRuntime().exec()
失败。使用 web shells、反序列化漏洞或其他向量时可能发生这种情况。
有时这是因为重定向和管道字符在启动进程上下文中无效。例如 ls > dir_listing
在shell中执行可以输出到文件,但在 exec() 中可能不被正确解析。
参数中包含空格时,StringTokenizer 会拆分。例如 ls "My Directory"
会被拆分成 ls '"My' 'Directory"'
。
通过 Base64 编码可以减少这些问题,并且可以通过 Bash 或 PowerShell 再次解析管道和重定向,确保参数完整。
参考来源:java.lang.Runtime.exec() Payload Workarounds - @Jackson_T