ASP安全漏洞分析
主讲: 宋彦 黄惠卿
前言
Microsoft Active Server Pages (ASP)是服务器端脚本编写环境,使 用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以 组合 HTML 页 、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。
漏洞分析环境
WIN2K + IIS5.0
ASP漏洞分析 (一)
在ASP程序后加个特殊符号,能看到ASP源程序 ACCESS mdb 数据库有可能被下载的漏洞(演示) code.asp和Global.asa文件会泄漏ASP代码 FileSystemObject 组件篡改下载 fat 分区上的任何 文件的漏洞 输入标准的HTML语句或者javascript语句会改变输出 结果 (
演示) ASP程序SQL密码验证漏洞 IIS中安装有INDEX SERVER服务会泄漏ASP源程序 NT iss4.0_AuthChangeUrl? 漏洞 动态库存在后门允许用户查看源程序和下载整个网站
ASP漏洞分析 (二)
IIS5.0超长URL拒绝服务漏洞 不存在的idq或ida 文件暴露服务器上的物理地址 Unicode返回上级目录的漏洞 绕过验证直接进入ASP页面 特殊数据格式的URL请求远程DOS攻击 IIS web server DOS (C程序) MS ODBC数据库连接溢出导致NT/9x拒绝服务攻击 (ASP检测程序) ASP主页.inc文件泄露问题 利用Activer server explorer可对文件进行读写访问 ASP编辑器会自动备份asp文件,会被下载的漏洞
漏洞描述(一)
在ASP程序后加个特殊符号,能看到ASP源
程序 这些特殊符号包括小数点,%81, ::$DATA。比如: someurl/somepage.asp%81 someurl/somepage.asp::$DATA (存在于win9X+pws4.0)
ACCESS mdb 数据库有可能被下载的漏洞
在同一目录下 someurl/database/book.mdb
code.asp和global.asp文件会泄漏ASP代码
xxx/global.asa url/iissamples/code.asp?/soushuo.asp=xxx.asp
FileSystemObject 组件篡改下载 fat 分区上的任何 文件的漏洞
存放WEB站点目录下的文件轻易被篡改
漏洞描述(二)
输入标准的
HTML语句或者javascript语句会改变输出结果 (演示)
在文本框中输入标准的HTML语句,WEB服务器会执行相应的内容
ASP程序SQL密码验证漏洞(解决方法)
sql="select * from user where username='"&;username&;"'and pass='"&; pass &;'",只要根据
sql构造一个特殊的用户名和密码,如:ben' or '1'='1 ,就可以 进入本来你没有特权的页面
IIS中安装有INDEX SERVER服务会泄漏ASP源程序
通 过 构 建 下 面 的 特 殊 程 序 可 以 参 看 该 程 序 源 代 码 : 202.116.26.38/null.htw?CiWebHitsFile=/default.asp&;CiRestriction =none&;CiHiliteType=Full
NT iss4.0_AuthChangeUrl? 漏洞
someurl/_AuthChangeUrl?
上面的 命令将下载C:根目录下的install.exe文件。
漏洞描述(三)
动态库存在后门允许用户查看源程序和下载整个网站
程序路径为:/_vti_bin/_vti_aut/dvwssr.dll 密码:"Netscape engineers are weenies!"
IIS5.0超长URL拒绝服务漏洞
Host: aaaaaaaa....(200 bytes) 导致内存溢出,重新启动。
不存在的idq或ida 文件暴露服务器上的物理地址
someurl/anything.ida
Unicode返回上级目录的漏洞
IP/scripts/ccc.exe?/c+dir+c:\inetpub\wwwroot
绕过验证直接进入ASP页面
首 先 关 闭 其 它 的 浏 览 , 然 后 在 窗 口 输 入 以 下 地 址 : someurl/system_search.asp?page=1 就样就看到了只能系统员 才能看到的页面
漏洞描述(四)
特殊数据格式的URL请求远程DOS攻击
请求一个具有特殊数据格式的URL,会拖慢受攻击web 服务器的响应速度,或 许会使其暂时停止响应。
IIS web server DOS (C程序)
IIS容易被拒绝服务攻击。如果
注册表中"MaxClientRequestBuffer" 的键 未被创建,针对这种NT
系统的攻击通常能奏效。
ODBC连接溢出导致NT/9x拒绝服务攻击 (ASP程序)
ODBC数据库在连接和断开时可能存在潜在的溢出
问题(Microsoft ACCESS数 据库相关)。如果不取消连接而直接和第二个数据库相连接,可能导致服务 停止。
ASP主页.inc文件泄露问题
bbclub:8013/includes/general.inc
漏洞描述(五)
利用Activer server explorer可对文件进行读写 访问
Activer server explorer要求填写相对路径或者绝对路径,但是 假如:有一个攻击者把Activer server explorer上传到目标服务 器上的某个目录,并且这个目录支持ASP的话,那么他就可以通过 Activer server explorer修改、执行目标服务器上的文件。
ASP编辑器会自动备份asp文件,会被下载的漏洞
在有些编辑asp程序的工具,当创建或者修改一个asp文件时,编 辑器自动创建一个备份文件,比如:UltraEdit就会备份一 个..bak文件,如你创建或者修改了some.asp,编辑器自动生成一 个叫some.asp.bak文件,如果你没有删除这个bak文件,攻击有可 以直接下载some.asp.bak文件,这样some.asp的源程序就会给下 载。
ASP安全建议
WIN2K安全配置 IIS安全配置
返回
SQL漏洞解决方法
在源程序中编写一个检查函数 <%Function Filter(Body,Num,IsNull) ?Body是传送的内容,Num是数据类型,0为字符,1为数值 If Instr(Body,”,”) or Instr(Body,”?”) or Instr(Body,”%”) or Instr(Body,”;”) or Instr(Body,” ”) or Instr(Body,chr(33)) Then In=“True” Exit Function End If If Instr(Body,”*”) or Instr(Body,”-”) or Instr(Body,”+”) or Instr(Body,”/”) or Instr(Body,”\ ”) Then In=“True” Exit Function End If If Num=1 Then If Isnumberic(Body)=False Then Exit Function End If End If%>