这是现已结束的挑战的一部分。
在该服务器上,当远程调用 cgi 应用程序时,apache 会以该二进制文件所有者的权限执行它。所以目标是通过缓冲区溢出来滥用这些权利。
该应用程序具有各种保护措施,为了执行任意代码,您必须明确删除 ASLR。顺便说一句,服务器很旧,因此“ulimit -s unlimited”和“setarch uname -m-R /path/app”都可以有效地实现 aslr 删除。现在我被堆叠的地方是使用所有者的权限在本地执行应用程序。
我认为应用程序没有 suid,所以 apache 必须以某种方式更改 euid,对吗?是否有可能在本地获得这种行为?我有 apache 用户对服务器的 btw shell 访问。
编辑:我只是想我可以创建一个不同的目录并向目标二进制文件添加一个符号链接,创建 .htaccess(使用 +ExecCGI)并在该会话上设置“ulimit -s unlimited”。我不确定它是否会起作用
谢谢