ASP漏洞及安全建议(3)

2016-01-29 19:26 2 1 收藏

ASP漏洞及安全建议(3),ASP漏洞及安全建议(3)

【 tulaoshi.com - ASP 】

       8、ASP聊天室程序的漏洞
   问题描述:
   如果聊天室ASP程序设计不当,很容易会给他人利用来做坏事:可以踢人,穿墙,捣乱.
   首先,我们看看聊天室里有什么漏洞,大家看看下面这段代码:
  
  <html>
  <head>
  <body BGCOLOR="008888" TEXT="FFFFFF">
  …………………………
  ………………
  ………
  <form NAME="sendmsg" ACTION="chatt.asp" METHOD="POST" target="mtalk1"
  OnSubmit="return chksend();">
  <input type="hidden" name="username" value="测试者">******
  <input type="hidden" name="sex" value="boy">********
  <input type="hidden" name="message" value="">
  <input type="hidden" name="a_method" value="sendtalk">
  <div align="center"><center>
  <table CELLSPACING="0" CELLPADDING="0"> <tr>
  <td>发言: <input type="text" name="msg" size="60"> </td>
  <td><input type="submit" value="发 言"> </td>
  </tr>
  <tr>
  <td>悄悄:<input type=checkbox name=mtalk value=1>
  对象:<input type="text" name="betalk" size="10">
  表情:<select NAME="exp" onChange="document.sendmsg.msg.focus();documen
  t.sendmsg.msg.select();" size="1">
  ………
  ……………
  ……………………
  </form>
  <form name="getout" ACTION="chatt.pl" METHOD="POST">
  <input type="hidden" name="username" value="测试者">!!!!!!
  <input type="hidden" name="a_method" value="getout">!!!!
  <input type="submit" value="退 出"></td>
  </form>
  </body>
  </html>
   以上这段代码是我在某个聊天室用"测试者"作代号登陆后在发言帧当下来的, 这只是一小部份,但在这一小部份代码里面就有两个漏洞。
   第一个漏洞
   大家看看上面的代码加上"*"号的那两句,其中第一句中的"测试者"就是我登陆的名字,还有,第二句中的"boy"是登陆时的性别,还有再看看下面我加上"!" 号的两句,第一句里还是有我登陆时的名字,这几句都是我现在想说的两个漏洞所在点。如果想在这个聊天室里穿墙的话,只要把发言帧的代码当下来另存,把"form"的"action"改成聊天室的地址,然后把再"*"号的第一句的“测试者”两字改成想要的名字就可以了。也可以变换性别,只要把第二句的 "boy"改成"girl"。这就是所谓的穿墙术了。你甚至可以把它改成在线人的名字,然后发言,这样就冒充别人的姓名谈话。
   第二个漏洞
   踢人的漏洞就是这个了,我们看一下带"!"号的第一句,上面有是合法用户登陆的名字,再看第二句,他有”getout”,再加上上面还有一段"form"标签,这段就是我们退出聊天室时的代码,这个有什么用呢?我们先试试看,首先还是把"form"标签的"action"改成 聊天室的地址,不然就不知道提交给哪个家伙了。然后把"风风"改成你想踢下去的人的名字然后单击“退出”,那就把那个人踢出聊天室了。这个就是聊天室踢人的漏洞。
   这两个漏洞主要的原因是这两个漏洞使服务程序不识别客户发出的指令是不是合法用户。 以上两漏骗服务程序来更名发出发言,或更名退出,使得真正的使用者受害。
   当然上面的程序中还有一个漏洞,输入框没有对HTML语句和JAVASCRIPT语句做过滤。这个问题我们在漏洞5中已有详细分析,这里就不谈了。
  
   问题解决或者建议:
   在程序设计中让服务程序能识别到底是哪个家伙发出的指令就可以了,具体做法可以为每个聊天者发一个识别码,象五笔字一样,也可以用每个聊天者的密码识别,也可以把聊天者的密码随机加密后用作识别等等 ,反正能使你的服务程序识别到底是谁发出的指令就可以了。
  
  9、NT iss4.0_AuthChangeUrl? 漏洞
   问题描述:
   在NT iis4.0,当输入如下命令时
  http://someurl/_AuthChangeUrl?<font%20size=7%20color=red>你好
  你看到发生了什么吗?<font size=7 color=red>被解释成功
  出现了红色的放大的“你好”字
&

来源:https://www.tulaoshi.com/n/20160129/1509411.html

延伸阅读
标签: Web开发
随着Internet的发展,Web技术日新月异。继通用网关接口(CGI)之后,“ASP”(Active Server Pages)作为一种典型的服务器端网页设计技术,被广泛地应用在网上银行、电子商务、搜索引擎等各种互联网应用中。同时Access数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。因此AS...
标签: ASP
第一节、利用系统表注入SQLServer数据库 SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为注入者提供了一个跳板,我们先来看看几个具体的例子:  ①http://Site/url.asp?id=1;exec master..xp_cmdshell “net user name password ...
标签: PHP
  本报讯 据PHP组织说,运行PHP的服务器容易受到多种恶意程序攻击,包括允许攻击者执行恶意代码和DoS攻击。 PHP组织发布了修复这些漏洞的升级版本,可以从PHP网站下载或直接从各操作系统厂商获得。PHP组织强烈建议用户升级到新版本。 PHP是一个主要用于服务器端应用的开源编程语言,运行在Linux、Unix、Mac OS和Windows等...
ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。 1.Access数据库的存储隐患 在ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于网上书店的Access数据库,人们一般命名为book.mdb、store.mdb等,而存...
ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。 1.Access数据库的存储隐患 在ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于网上书店的Access数据库,人们一般命名为book.mdb、store.mdb等,而存储的路...

经验教程

107

收藏

89
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部