注册
登录
论坛
搜索
社区银行
帮助
导航
私人消息 (0)
公共消息 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
黑色海岸线论坛
»
网络安全
» 利用ASP实现TCP端口扫描
返回列表
发帖
发短消息
加为好友
chinanic
(黑冰cn)
当前离线
巡海头狼
帖子
6440
我的爱好
阅读权限
150
来自
贵州遵义
在线时间
456 小时
总版主
主题
0
积分
854
贝壳
854 个
性别
男
来自
贵州遵义
注册时间
2005-3-26
最后登录
2011-2-26
楼主
跳转到
»
倒序看帖
打印
字体大小:
t
T
chinanic
发表于 2007-5-24 01:46
|
只看该作者
[讨论]
利用ASP实现TCP端口扫描
用ASP久了,就会感到有个很郁闷的地方:ASP不像其他
脚本
语言那样能访问Socket。所以或许你用过PHP、Perl等实现的端口扫描器,惟独没见过ASP的。嘿嘿,所以今天本文的目的就是利用“曲线救国”的策略实现ASP端口扫描器。Only for enjoy!
所谓曲线,呵呵,当然是利用其他的访问
网络
的组件,那么ASP有哪些组件可以访问
网络
呢?
第一个很容易想到,对,就是XMLHTTP。这个组件是以HTTP协议访问
网络
,当然可以用作端口扫描。但存在一个很难解决的问题:如果某端口打开且不是HTTP端口,那么XMLHTTP将会一直挂起,执着的等待返回HTTP数据。扫描就不能进行下去了。只好排除这个“曲线”了。
第二个组件也就是我们要利用的,嘿嘿,很常见哦,服务器上都有的,那就是ADODB.Connection。这个组件就是用于进行
数据库
连接的。当
数据库
是MSSQL的时候,Web Server就会访问SQL Server的1433端口……对,就是这里了,只要我们改动端口号,再根据返回的错误描述就可以判断该端口的状态。
下面是一个普通的连接MSSQL的字符串例子:
Provider=SQLOLEDB.1;Data Source=127.0.0.1;User ID=sa;Password=;
默认情况下端口是1433,下面是自己定义端口为1444的例子:
Provider=SQLOLEDB.1;Data Source=127.0.0.1,1444;User ID=sa;Password=;
根据端口的状态将得到几种结果:
端口开放且非SQL端口
·[ConnectionOpen (PreLoginHandshake()).]一般性
网络
错误。请检查
网络
文档。
端口开放且为SQL端口
·不返回错误(用户名密码正确)
·用户’sa’登陆失败(用户名密码不正确)
端口关闭
·[ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问
呵呵,现在就好办了,只需要判断一下Error.Description就搞定。为了提高扫描速度,需要把Connection的ConnectionTimeout属性设为1,废话了,呵呵,具体看代码就是。
经过测试,lake2版ASP端口扫描器速度一般,就相当于一个单线程的扫描器。但是由于其
脚本
特性,在webshell上或许比其他类型的扫描器有更高的价值哦^_^
收藏
分享
天行健,君子以自强不息
地势坤,君子以厚德载物
黑色海岸线欢迎您
QQ群:7212260
致力于探索WEB技术精髓:http://www.bitechcn.com
点这里加我!
返回列表
回复
发帖
使用交流
网络安全
网络技术
娱乐休闲
灌水乐园
文学天地
美图欣赏
网站办公
站务处理
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]