Shell脚本加密方法大全及案例演示 |
您所在的位置:网站首页 › shell脚本隐藏源码 › Shell脚本加密方法大全及案例演示 |
一、加密原因 当我们正式线上开发环境是基于Linux开发时,通常必不可少的就是shell脚本的编写。 shell脚本的好处众多,可对系统进行自动化维护,简单,快捷而且可移植性强。 存在问题: 但是shell脚本时可读写的,很有时候,当线上业务量过多的时候,许多的执行命令还有一些信息我们可能会在脚本中来进行记录,防止丢失。但是这样以来可能会泄露一些敏感信息,比如用户名,密码,路径,IP,数据存放位置等隐私信息。 同样,在shell脚本运行时也会泄露敏感信息。 比如当需要做一个自动登录脚本时,每次手动输入密码太慢,而且手动输入可能会有手误现象;直接把密码写到脚本中,是很快捷,但是不安全,容易泄露。 二、解决方案: 把密码写在脚本中,作为参数传递给下一个脚本让其用来登录,而保存密码的脚本,使用某种手段加密,让其不可读但是可执行。 三、加密方法及实战演示 shell脚本的加密常用方法有以下三种: gzexe,shc,upx 1、gzexe方法【特点是不用安装,加解密简单粗暴】 先准备两个脚本,一个是test.sh,主要用来计时,它会调用另一个脚本a.sh,这个a.sh就是要加密的脚本了。 a.sh脚本内容:
发现脚本已经加密,原始代码看不见了 然后【解密】 gzexe -d a.sh再查看脚本a.sh,显示如下: 总结:gzexe其实就是个压缩文件,能起到隐藏文件内容的效果,执行速度几乎和脚本一样(在脚本不大的情况下),但是如果加密文件丢失,就会有风险,轻松就被破解了、还是谨慎为好。 2、shc【需要安装】 shc方法特点:加密以后,原文件不会变,会生成一个原文件.x的加密后的文件。 安装方法: yum install -y shc使用方法: shc -r -f script-name注意:要有-r选项,-f后要跟加密的脚本名 运行后,会生成两个文件,script-name.x 和 script-name.x.c script-name.x 是加密后的可执行的二进制文件 执行 ./script-name 即可运行。 script-name.x.c是生成script-name.x的原文件 加密命令: shc -T -f a.sh加密后,发现查看不了 发现出现一堆数字 总结:shc安全性好,但是解密太麻烦,加密后执行速度太慢 3、upx upx是一个加壳工具,主要用来给可执行文件加密用的 安装upx yum install -y upxupx加密命令 最快压缩 upx -l a.sh最强压缩 upx -9 a.sh总结: upx不能压缩太小文件,适用性不强 三者对比总结: 保护远程密码的话,直接使用gzexe即可,避免无意间泄露,执行速度快,如果能保证软件安全(牛逼的杀毒软件)和硬件安全(电脑别被偷了)的话,安全性还是可以接受的。如果脚本本身执行时间就很长,那么shc执行慢的特点或许也是可以忽略不计的。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |