脚本安装填入y,n

该脚本使用for循环遍历当前目录下的文件,并对每个文件执行elasticsearch-plugininstall命令进行安装,安装过程中自动确认(输入y)。文件路径指向/usr/share/elasticsearch/data/app-plug目录下的插件包。

ls
在这里插入图片描述

for i in $(ls)

do elasticsearch-plugin install file:///usr/share/elasticsearch/data/app-plug/$i <<eof
y
eof

done
for i in $(ls);do echo y|elasticsearch-plugin install file:///usr/share/elasticsearch/data/app-plug/$i;done
CTF比赛中的解密脚本因具体的加密类型和攻击方式而异。以下是几种不同场景下的解密脚本示例: ### RSA低加密指数攻击解密脚本 当e = 3时,根据不同情况有不同的解密方法。若m^e < n,可直接对c开3次根式得到m;若m^e > n,则需爆破k值。以下是对应的解密脚本: ```python import gmpy2 import libnum def de(c, e, n): k = 0 while True: mm = c + n*k result, flag = gmpy2.iroot(mm, e) if True == flag: return result k += 1 e = 3 # 这里需根据具体题目填入n和c的值 n = 0 c = 0 m = de(c, e, n) print(m) print(libnum.n2s(int(m)).decode()) ``` 该脚本用于RSA低加密指数攻击的解密,适用于e = 3的情况。若m^e < n,直接对密文c开3次根得到明文m;若m^e > n,通过不断尝试k值,找到使c - kn能开三次根的k,进而得到明文m [^1]。 ### 自定义加密算法解密脚本 针对一种自定义的多重编码和异或加密算法,以下是相应的解密脚本: ```python import base64 def decrypty(encrypto_str): str4 = "" for x in base64.b64decode(encrypto_str): str4 += chr(ord(x) ^ 0x64) str5 = "" for y in base64.b32decode(str4): str5 += chr(ord(y) ^ 0x32) str6 = "" for z in base64.b16decode(str5): str6 += chr((ord(z) ^ 0x16) - 8) return str6 encrypto_str = "JTEiJS0lJSIrNSc1Myc9LCUyPjUlUCUiKyUlLCsmKDAlMlYlL1ElIiYtJSwnJSA1JVAnNS9QLSUrJSUsJSYoMSUmVyUlUTUlJiklJTMmKDMlJlclJVA9JSslJSwnJj0hJSZXJS9RJSUrJSUsLSY9ISUmPTUrJiUoJSFZWVlZWVk=" print(decrypty(encrypto_str)) ``` 此脚本用于解密一种自定义的加密算法,该算法依次使用了异或、Base16编码、Base32编码和Base64编码。解密时按相反顺序进行解码和异或操作 [^2]。 ### “百度杯”CTF比赛特定解密思路 在“百度杯”CTF比赛九月场的Code题目中,涉及到对用户cookie和变量key的解密操作。虽然未给出完整可运行的代码,但给出了详细的解密思路: ```python # 此部分为伪代码,仅体现思路 import base64 import hashlib def decrypt(cookie, key): txt = base64.b64decode(cookie) rnd = txt[:4] txt = txt[4:] key = hashlib.md5((rnd + key).encode()).hexdigest() s = 0 tmp = "" for i in range(0, len(txt), 32): block = txt[i:i+32] xor_block = ''.join(chr(ord(a) ^ ord(b)) for a, b in zip(block, key)) tmp += xor_block tmp1 = ''.join(chr(ord(c) - 10) for c in tmp) return tmp1 # 假设cookie和key的值 cookie = "" key = "" username = decrypt(cookie, key) if username == "system": print("flag") else: # 这里省略encrypt函数的实现 pass ``` 该思路是将用户的cookie和变量key传入`decrypt`函数,经过Base64解码、MD5加密、异或运算等操作得到`username`,若`username`为`system`则输出flag [^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值