【发布时间】:2014-08-18 04:31:00
【问题描述】:
作为我的安全课程的一部分,我们不得不利用一些安全性较低的 ubuntu 版本中的漏洞。我解决了所有的挑战,但是我遇到了一个问题,我希望有人能解释一下。
每个挑战都是一个 setgid 二进制文件,当它被接管时,攻击者将获得更高级别的权限。为了被添加到该级别的组中,需要运行命令 l33t,该命令实际上是运行 adduser <user> <group>。
在我的一个漏洞利用中,我的 shellcode 只是调用了 exec l33t,我收到了这条消息: 运行 setgid 时 printf 中的不安全依赖项 /usr/share/perl5/Debian/AdduserCommon.pm 第 64 行。
为了解决这个问题,我创建了一个运行良好的两行 bourne shell:
#!/bin/sh
l33t
谁能解释为什么我看到了不安全的依赖问题?
【问题讨论】:
-
perldoc for printf 确实注意到了这个问题……但无助于解释原因 =\