当前位置: 首页 >> 网络协议与安全 >> TCP端口扫描的ASP实现
 

TCP端口扫描的ASP实现

作者:      来源:zz     发表时间:2006-11-16     浏览次数:      字号:    

Authorlake2  ( http://lake2.0x54.org )

 
ASP久了,就会感到有个很郁闷的地方:ASP不像其他脚本语言那样能访问Socket。所以或许你用过PHPPerl等实现的端口扫描器,惟独没见过ASP的。嘿嘿,所以今天本文的目的就是利用“曲线救国”的策略实现ASP端口扫描器。Only for enjoy
所谓曲线,呵呵,当然是利用其他的访问网络的组件,那么ASP有哪些组件可以访问网络呢?
第一个很容易想到,对,就是XMLHTTP。这个组件是以HTTP协议访问网络,当然可以用作端口扫描。但存在一个很难解决的问题:如果某端口打开且不是HTTP端口,那么XMLHTTP将会一直挂起,执着的等待返回HTTP数据。扫描就不能进行下去了。只好排除这个“曲线”了。
第二个组件也就是我们要利用的,嘿嘿,很常见哦,服务器上都有的,那就是ADODB.Connection。这个组件就是用于进行数据库连接的。当数据库是MSSQL的时候,Web Server就会访问SQL Server1433端口……对,就是这里了,只要我们改动端口号,再根据返回的错误描述就可以判断该端口的状态。
下面是一个普通的连接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就搞定。为了提高扫描速度,需要把ConnectionConnectionTimeout属性设为1,废话了,呵呵,具体看代码就是。
经过测试,lake2ASP端口扫描器速度一般,就相当于一个单线程的扫描器。但是由于其脚本特性,在webshell上或许比其他类型的扫描器有更高的价值哦^_^
下载:http://www.0x54.org/lake2/program/PortScanner.rar

编辑 webmaster

 
 
 
评论更多>>
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •