黑客攻击网络服务器

黑客攻击网络服务器

问题描述:

您好我一直负责试图打破它我的公司使用,我真的不多少运气专有的Web服务器程序。它建于c。黑客攻击网络服务器

它运行为根,我试图让它执行命令。网络服务器接收URL中发布的命令并使用前缀执行这些命令。现在我可以通过任何命令,如'& _cmd = gettimeout'或'& _cmd = rm'。该计划将实际运行“前缀RM”

前缀程序将尝试在一组目录,其中没有有用的UNIX命令是运行该命令,因此将刚报到的命令没有找到。当php脚本将空格转换为+时,也不可能在URL中传递空格,例如'&_cmd = rm%20-f'。无论如何格式化& _cmd字符串来运行真正的Unix命令?

位奇怪的任务,但我是一个放置学生做一个安全课程,我的工作,试图找到我对我的过程中的一些工作。

感谢您的帮助

+0

与&_cmd = RM,会发生什么; PWD?它运行pwd命令吗?你可以通过“..”访问父目录吗?你能访问像“/ usr/bin”这样的绝对路径吗?你能传递多个参数吗?比如“rm%20-rf%20 /”? – vaugham 2012-01-18 11:03:25

+0

为什么用C标记?标签已移除。 – pmg 2012-01-18 11:07:15

+0

命令rm; pwd未找到 看起来它只是将整个文本解析为一个命令 – 2012-01-18 11:10:01

一些想法,可能会奏效,可能不会:

  1. 后引号。幸运的是,他们将在prefix运行之前进行评估。没有运气,他们可能仍然会以某种方式为你服务。
  2. 如果空格不起作用,为什么不尝试其他类型的空白?有标签,等等。
  3. 你需要找到可以使用哪些命令,并找出它们是否有帮助。
  4. 您可能会在其中一个允许的命令中找到缓冲区溢出。通常情况下,这种超支不是安全风险(如果你接管vi,你无法做任何你无法做到的事情)。但在这种情况下,你可能会利用它们。
  5. 您可能会发现的可执行/proc/,如果你能到达那里 - 它包含一个链接到每个进程的命令。
+0

这很有希望使用带前缀的back ticks在命令行上让我先运行命令。然而,似乎在网络服务器执行呼叫allways运行前缀作为程序和任何其他论证作为争论在执行呼叫:( – 2012-01-18 13:10:11