探测远程主机防火墙允许开放端口
日期:2007年10月25日 作者: 查看:[
大字体 中字体
小字体]
-
-
上次拿到一个webshell,可是接着遇到麻烦——主机装了硬件防火墙。虽然发现主机的MSSQL存在hello溢出漏洞,但是由于防火墙的阻挠始终拿不到shell(反向连接时发现仅仅能够连接,没有数据过来),另外又试了N种本地提升权限的方法但以失败告终。郁闷!后来又想到如果在webshell里用sqlhello溢出绑定一个防火墙允许开的端口,那不就ok了。当然这个端口必须是现在关闭着的。
大家都知道如果能够连接远程主机的某个端口,那么这个端口自然是防火墙允许开放的。现在的问题是,现在端口关闭着,如何判断呢?
这里我想到有大虾说过telnet远程主机端口时,如果很快返回连接失败就说明端口关闭;如果等了十多秒才返回多半是对方装有防火墙。这个方法是对的,可是一共有65535个端口,不会让我慢慢去telnet吧,所以就写个程序自动去扫。
同端口扫描程序类似,这个程序也调用winsock的connect函数,但由于端口是关闭的,所以connect会返回一个错误码10061(连接被拒。由于被目标机器拒绝,连接无法建立);但如果是对方的防火墙拦截了连接请求的话,过段时间就会返回10060错误(连接超时)。利用返回的错误类型我们就可以判断该端口是否为远程主机防火墙允许开放的了。不过这里注意,如果目标ip不存在主机的话也会超时的哦。
原理搞懂了写程序也就很简单了,就是调用winsock的connect。关于winsock编程参考《WINDOWS网络编程技术》吧;嗯,另外注意用多线程,不然的话,呵呵,一整天都扫不完。多线程要使用CreateThread这个API函数,看看MSDN吧。随便在网上找了个扫描器代码参考,写了这个程序,代码如下:
#include
#include
#include
#include
#include
#pragma comment(lib,"ws2_32.lib")
#define MAXThreadCount 100//设置最大线程数
#define SumScanCount 65535//设置扫描端口总数
struct sockaddr_in server;
int ThreadCount=0;
int dwThrdParam = 1; //CreateThread的参数,提到前面好计算
unsigned int resolve(char *name)
struct hostent *he;
unsigned int ip;
if((ip=inet_addr(name))==(-1))
if((he = gethostbyname(name))==0)
printf("ERROR: Don't find the %s .\n",name);
exit(0);
}
memcpy(&ip,he->h_addr,4);
}
return ip;
}
DWORD WINAPI Scan(LPVOID lpParam )
int mysock,code,port=(int)lpParam ;
mysock=socket(AF_INET,SOCK_STREAM,0);
if(mysock < 0) { printf("socket error!");
server.sin_port = htons(port);
if(connect(mysock,(struct sockaddr *) & server,sizeof(server))!=0)
code=GetLastError();
- [1] [2] [3] 下一页
-
- 探测远程主机防火墙允许开放端口 相关文章:
- ·Windows 7操作系统新技术深入探讨
- ·搜索引擎有效删除有害网页内容的探究
- ·网络嗅探Sniffer监控广播风暴
- ·探密Vista的EFS加密功能(下)
- ·探密Win Vista的EFS加密功能(上)
- ·改进不多:金山毒霸2008公测版探秘
- ·探测远程主机防火墙允许开放端口
- ·有效地使用 SQL事件探查器的提示和技巧
- ·探讨防火墙维护与管理、技术发展趋势
- ·新版QQ群聊天设置技巧探秘
- 探测远程主机防火墙允许开放端口 相关软件
- ·《深海探索》海底版魔兽试玩
- ·超能力侦探
- ·郭小峰探案系列
- ·《珠穆朗玛探险》神秘视线游戏试玩
- ·GBA中文《名侦探柯楠-被狙击的侦探》模拟器
- ·美神探爱琳探案集
- ·《侦探露西》新型破案来找茬游戏
- ·探案搜索《警察故事3》试玩
- ·《侦探露西》英文版试玩
- ·《宝石侦探》益智试玩
上一篇:注意:网页标题和网页Meta的写法
下一篇:QQ音乐7.1 beta08 试用手记
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com