You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重复base64编码结果与预期不符的Hack The Box bash脚本问题

错误原因分析

你的第一版代码存在两个核心错误:

  • 变量未用双引号包裹导致内容被篡改
    代码中var=$(echo $var | base64)里的$var没有加双引号,Bash进行变量扩展时,会自动把变量内容中的所有空白字符(包括base64编码后每行默认添加的换行符)替换为单个空格,导致每次传给base64的输入都不是上一次编码的正确结果,多次迭代后最终的编码内容完全不符合预期。
  • 长度统计规则不匹配验证要求
    你统计长度时用了echo -n "$var" | wc -c,-n参数会取消echo默认输出的末尾换行符,而验证系统的统计规则是包含该换行符的,就算编码结果正确,统计出来的长度也会比正确值少1。

另外补充两个不影响结果的代码问题:

  • 循环逻辑冗余:你循环了40次,只在第35次输出结果,后续5次循环是无意义的冗余代码。
  • 条件判断写法不规范:[ $COUNTER == 35 ]中的==是Bash扩展语法,POSIX标准的相等判断应该用单个=,虽然多数环境下不会报错,但存在兼容性风险。

内容的提问来源于stack exchange,提问作者Filipe Azevedo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 13:51:01