我正在尝试CTF,其中我发现base64二进制作为SUID。我也检查了linpeas,它说它很脆弱,我试图通过以下步骤升级特权:
1。创建了一个名为exploit的文件,并将以下代码放入其中。"‘Chmod +s/bin/sh"
2。现在我用base64编码"‘猫利用| base64"‘导致Y2htb2QgK3MgL2Jpbi9zaAo=
3。然后我用下面的代码让它执行。
" 'base64 -d << 我试着将漏洞脚本更改为"/bin/bash - p"one_answers"‘#!/bin/sh/bin/bash - p" 但是它只是给我一个正常的bash shell。有人能解释一下为什么base64是一个SUID,并且容易受到攻击,不提供根shell,以及如何获得根shell吗?如果我做错了什么,我很抱歉……我只是一个学习者:)
这根本不是一个漏洞。你只是尝试执行chmod命令,如果你试图从shell执行它,或者编码/解码到base64,然后从shell执行它,没有区别。
我想,最初的想法是编码chmod命令,并给非常非常愚蠢的用户混淆命令。他有超级用户权限,所以他将以超级用户权限执行它,任何人,只要运行&;sh&;将以超级用户权限运行sh。
总结:编码为base64不是一个漏洞或利用。它只是将一些东西编码为字符串。使用超级用户权限运行该程序的方式应该是一个漏洞。