-
-
[原创] ubuntu 1604下 one_gadget 出现undefined method `unpack1'问题的解决方案
-
2021-1-6 15:23
11359
-
[原创] ubuntu 1604下 one_gadget 出现undefined method `unpack1'问题的解决方案
one_gadget是用Ruby编写的,可以用gem直接安装,当我使用默认的apt安装ruby和gem,是这样的流程
1 2 | sudo apt install ruby gem
sudo gem install one_gadget
|
此时ruby的版本:
1 2 | ruby 2.3 . 1p112 ( 2016 - 04 - 26 ) [x86_64 - linux - gnu]
|
然后用的时候就会报错:
1 | / var / lib / gems / 2.3 . 0 / gems / elftools - 1.1 . 3 / lib / elftools / elf_file.rb: 59 : in `build_id ': undefined method `unpack1' for "\xC4\xFD\x86\xEC\x1E\xEDW\xA0\x9Cy\xCE`\x1Fln7\x96\xF5t\xDF" :String (NoMethodError)
|
解决方案
1.卸载已经安装的ruby、gem、one_gadget
1 2 | sudo gem uninstall one_gadget
sudo apt remove gem ruby
|
2.我在one_gadget的Github repo中的 Github workflow 中看到,开发者使用的ruby 版本是2.6
接下来装个2.6的ruby,使用ruby-install脚本进行安装,该脚本的安装方式参考README。
配置好脚本后,安装 ruby 2.6:
等亿会,安装完成。
把路径加到path中:
1 | export PATH = "/home/lushan/.rubies/ruby-2.6.6/bin:$PATH"
|
检查ruby版本:
1 2 | ruby 2.6 . 6p146 ( 2020 - 03 - 31 revision 67876 ) [x86_64 - linux]
|
安装one_gadget:
正常使用:
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。