linux脚本base64加密当时,一次用shell解密base64加密的文本的过程

点击(此处)折叠或打开

2|数据库概要|c2VsZWN0IGEubmFtZSAiREIgTmFtZSIsIA0KICAgICAgIGUuZ2xvYmFsX25hbWUgIkdsb2JhbCBO^MYW1lIiwgDQogICAgICAgYy5ob3N0X25hbWUgIkhvc3QgTmFtZSIsIA0KICAgICAgIGMuaW5zdGFu^MY2VfbmFtZSAiSW5zdGFuY2UgTmFtZSIgLCANCiAgICAgICBERUNPREUoYy5sb2dpbnMsJ1JFU1RS^MSUNURUQnLCdZRVMnLCdOTycpICJSZXN0cmljdGVkIE1vZGUiLA0KICAgICAgIGEubG9nX21vZGUg^MICJBcmNoaXZlIExvZyBNb2RlIiAgDQpGUk9NIHYkZGF0YWJhc2UgYSwgdiR2ZXJzaW9uIGIsIHYk^MaW5zdGFuY2UgYyxnbG9iYWxfbmFtZSBlICANCldIRVJFIGIuYmFubmVyIExJS0UgJyVPcmFjbGUl^MJzs=|0||0||1|1||

3|参数文件(是spfile还是pfile)|c2VsZWN0IG52bCh2YWx1ZSwncGZpbGUnKSAiUGFyYW1ldGVyX0ZpbGUiIA0KZnJvbSB2JHBhcmFt^MZXRlciB3aGVyZSBOYW1lPSdzcGZpbGUnOw==|0||0||1|1||

4|非默认的参数|c2VsZWN0IG5hbWUsIHJ0cmltKHZhbHVlKSAicHZhbHVlIiANCmZyb20gdiRwYXJhbWV0ZXIgIA0K^Md2hlcmUgaXNkZWZhdWx0ID0gJ0ZBTFNFJyANCm9yZGVyIGJ5IG5hbWU7|0||0||1|1||

可以看出需要合并的行已经给合并了!

一下步,就是要提取需要加密的域, 命令如下:

Awk –F’|’ ‘{print $3}’ NEWFILE >> file1  把域3输入到file1:

截取了file1 文件的第一行:

点击(此处)折叠或打开

c2VsZWN0IGEubmFtZSAiREIgTmFtZSIsIA0KICAgICAgIGUuZ2xvYmFsX25hbWUgIkdsb2JhbCBO^MYW1lIiwgDQogICAgICAgYy5ob3N0X25hbWUgIkhvc3QgTmFtZSIsIA0KICAgICAgIGMuaW5zdGFu^MY2VfbmFtZSAiSW5zdGFuY2UgTmFtZSIgLCANCiAgICAgICBERUNPREUoYy5sb2dpbnMsJ1JFU1RS^MSUNURUQnLCdZRVMnLCdOTycpICJSZXN0cmljdGVkIE1vZGUiLA0KICAgICAgIGEubG9nX21vZGUg^MICJBcmNoaXZlIExvZyBNb2RlIiAgDQpGUk9NIHYkZGF0YWJhc2UgYSwgdiR2ZXJzaW9uIGIsIHYk^MaW5zdGFuY2UgYyxnbG9iYWxfbmFtZSBlICANCldIRVJFIGIuYmFubmVyIExJS0UgJyVPcmFjbGUl^MJzs=

这个就是加了base64密的字符,现在我们还不能直接把base64 来解密,因为文本字符中有大量^M ,我们需要把^M  去掉,

命令如下:cat –v file1 | sed  ‘s/\^M//g’ >> file2

截取了file2文件的第一行:

点击(此处)折叠或打开

c2VsZWN0IGEubmFtZSAiREIgTmFtZSIsIA0KICAgICAgIGUuZ2xvYmFsX25hbWUgIkdsb2JhbCBOYW1lIiwgDQogICAgICAgYy5ob3N0X25hbWUgIkhvc3QgTmFtZSIsIA0KICAgICAgIGMuaW5zdGFuY2VfbmFtZSAiSW5zdGFuY2UgTmFtZSIgLCANCiAgICAgICBERUNPREUoYy5sb2dpbnMsJ1JFU1RSSUNURUQnLCdZRVMnLCdOTycpICJSZXN0cmljdGVkIE1vZGUiLA0KICAgICAgIGEubG9nX21vZGUgICJBcmNoaXZlIExvZyBNb2RlIiAgDQpGUk9NIHYkZGF0YWJhc2UgYSwgdiR2ZXJzaW9uIGIsIHYkaW5zdGFuY2UgYyxnbG9iYWxfbmFtZSBlICANCldIRVJFIGIuYmFubmVyIExJS0UgJyVPcmFjbGUlJzs=

可以发现^M 已经被处理掉了。

现在我们已经把前期所有的准备工作做好了,现在就可以开始解密了,脚本如下:

点击(此处)折叠或打开

#!/ bin/bash

CURRPATH=/root/script

while read LINE

do

echo $LINE | base64 -d >> $CURRPATH/sql.sql

echo >> $CURRPATH/sql.sql

echo >> $CURRPATH/sql.sql

done < /root/script/file2

解密出来的语句就是(截取了解密出来的文件第一条语句):

点击(此处)折叠或打开

select a.name "DB Name",

e.global_name "Global Name",

c.host_name "Host Name",

c.instance_name "Instance Name" ,

DECODE(c.logins,'RESTRICTED','YES','NO') "Restricted Mode",

a.log_mode "Archive Log Mode"

FROM v$database a, v$version b, v$instance c,global_name e

WHERE b.banner LIKE '%Oracle%';

总结:其实这次工作最有乐趣的还是用shell 对文本的处理,在处理的过程中也走了不少弯路,尤其是在合并行的时候,但最终还是把文本给处理好了!我觉得最重要的还是要理清怎么来处理这个文本,shell 只不过是几个命令的组合,而命令的组合就需要我们对文本处理的思路了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值