打开一开始一堆变量赋值,而且很长
文章图片
我们拖到最后,有个create执行脚本的东西,而且还是前面的变量
文章图片
那我们用Write-Host输出这个变量
文章图片
得到的是另一串powershell脚本
文章图片
扣下来,其中下面这部分只是验证Host,我们并不需要,直接删掉
文章图片
运行一下是弹钢琴的操作
文章图片
那我们添加代码,输出被处理后的值
文章图片
就图片上的字母,自己试就行
文章图片
最终得出对应如下
h 440
j 493
k 523
f 349
按着secret的顺序输即可(输入顺序:hhjhhjhjkjhjhf)
文章图片
又出来一串,一看就是十进制ascii
文章图片
简单还原一下即可
文章图片
结果又来一串
文章图片
后来将\n去掉,发现还是powershell,可以执行,要我们输入密码
文章图片
后来将这个代码以;
分割,输出前面的东西
文章图片
发现这几个东西代表0-9
文章图片
后来发现后面用了管道符,iex将字符串当powershell执行,你输出最后的那个${;
}就知道
文章图片
那我将管道符及后面的删除,输出如下
【信息安全|SECCON CTF 2017 Powerful_Shell】
文章图片
我们将那些数字扣下来,用sublime批量编辑,很快搞掂,写一下脚本就好了
文章图片
其实还有更方便的,再将后面的管道符和iex删掉,再执行就好了
文章图片
推荐阅读
- FridaHook环境搭建
- 解护网杯一道web(EasyChallenge)
- 实验二 扩展欧几里得算法c++代码
- RSA算法演绎
- 敏感信息打码就安全了吗()
- ctf|ctf-htctf-misc
- C++|一些关于程序内存布局的问题
- QCTF 2018xman夏令营选拔赛
- 第一届桂林电子科技大学绿盟杯CTF大赛 wp