linux – 在硬编码的tar命令中注入参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 在硬编码的tar命令中注入参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1625字,纯文字阅读大概需要3分钟。
内容图文
![linux – 在硬编码的tar命令中注入参数](/upload/InfoBanner/zyjiaocheng/963/7c876dea92ea4869b99bc464a7f6f7ab.jpg)
我正在使用linux软件解决方案,它使用tar命令备份大量数据.
硬编码到调用tar的二进制文件中的命令是:
/bin/tar --exclude "/backup" --exclude / --ignore-failed-read -cvjf - /pbackup 2>>'/tar_err.log' | split -b 1000m - '/backup/temp/backup.tar.bz2'
没有机会改变命令,因为它是被编码的.它使用bzip2来压缩数据.当使用参数–use-compress-prog = pbzip2(使用所有CPU内核)时,我经历了强劲的性能提升(高达60%).
通过将bzip2从/ bin / bzip2符号链接到pbzip2二进制文件,我试图欺骗软件,但是在监视进程时它仍然使用bzip2,因为我将它内置到tar中.
我知道这是一个棘手的问题但有没有办法利用pbzip2而不改变外部调用的这个命令?
我的系统是Debian Sequeeze.
非常感谢!
解决方法:
危险:未来的丑陋解决方案;在继续之前备份二进制文件
首先,检查硬编码字符串是否易于访问:在二进制文件上使用字符串,看看它是否显示你说的字符串(可能是几个部分,例如/ bin / tar, – exclude, – ignore -failed-read,…).
如果成功,请抓住您选择的十六进制编辑器,打开二进制文件并查找硬编码字符串;如果它分成几块,你需要的是包含/ bin / tar的那块;用一些任意三个字母的名称覆盖tar,例如fkt(假焦油;快速谷歌搜索没有找到/usr/bin/fkt的任何结果,所以我们应该是安全的).
该程序现在应该调用/usr/bin/fkt而不是常规tar.
现在,在你的/ bin中添加一个这样的脚本:
#!/bin/sh
/bin/tar --use-compress-prog=pbzip2 $*
使用您之前选择的名称(fkt)调用它并正确设置权限(它们应为755并由root拥有).这个脚本只需要获取它获得的所有参数并调用真正的tar,在它们前面添加你需要的参数.
我在评论中建议的另一个解决方案是,可能只是为应用程序创建一个chroot,将tar重命名为其他名称(可能是?)并在tar上面调用脚本(显然现在应该更改/ bin / tar里面的内容) / bin / realtar的脚本).
如果程序没有经常更新并且第一次尝试就有效,我可能会选择第一个解决方案,设置和维护chroot并不好玩.
内容总结
以上是互联网集市为您收集整理的linux – 在硬编码的tar命令中注入参数全部内容,希望文章能够帮你解决linux – 在硬编码的tar命令中注入参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。