新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - 编程开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 网络安全 > 网络安全 > 正文:服务器安全 守住关口防止脚本木马上传

服务器安全 守住关口防止脚本木马上传

新客网 XKER.COM 2008-03-18 来源: 收藏本文
   如果服务器本身配置已经相当安全,那么作为WEB服务器的危险之处就在于上传。记得有一位知名程序员曾说过这样一句话:永远别信任访客提交的东西,管理员都知道上传入口永远是最大的心病,那么如何尽可能的守住服务器安全阵地的入口呢?其实也很简单。

    服务器文件上传构成

    在这里可以写一个简单的html页面up.html,提供一个表单,用户从这里选择文档并把文档上载到服务器。 

    <html> 
    <head> 
    <title>文档上载</title> 
    </head> 
    <body> 
    <form action="upjsp.jsp" enctype="multipart/form-data" method=post> 
    <br /> 
    公司: <input type="text" name="company" /> 
    <br /> 

    选择要上载的文档 <input type="file" name="filename" /> 

    <br /> 
    <input type="submit" value="上载" /> 
    </form> 
    </body> 
    </html>  


    注意,<form>标记有一个enctype属性,属性值是"multipart/form-data"。有个type为file的输入框是用来选择上传文档的。 表单的action属性值是upjsp.jsp,这是将请求发送给upjsp.jsp文档。而upjsp.jsp则是调用了名为upbean的javabean。 程式如下: 

    <jsp:usebean id="thebean" scope="page" class="upbean " /> 
    <% 
    thebean.doupload(request); 
    %>  


    下面是upbean的实现代码: 

    import java.io.*; 
    import javax.servlet.http.httpservletrequest; 
    import javax.servlet.http.httpservletresponse; 
    import javax.servlet.servletinputstream; 
    public class upbean { 
    public void doupload(httpservletrequest request) throws 
    ioexception { 
    printwriter pw = new printwriter( 
    new bufferedwriter(new filewriter("test.txt"))); 
    servletinputstream in = request.getinputstream(); 
    int i = in.read(); 
    while (i != -1) { 
    pw.print((char) i); 
    i = in.read(); 
    } 
    pw.close(); 
    } 
    }   


    这个javabean把httpservletrequest对象的表单原始数据写入test.txt文档. 

    选择上传一个文本或网页文档。点击“上载”按钮之后,表单就发送给了upjsp.jsp文档,一起发送的还有上传的文档。upjsp.jsp文档不会向浏览器发送任何应答内容,但是会生成一个test.txt文档。只要打开test.txt文档,我就能看到上传文档的内容和一些上传的信息了。

    进行服务器上传设置 

    做好以下几点即可防止脚本木马的上传行为,行为如下:

    一、因为用户上传文件到服务器时,需要shell.application组件,如果网站管理人员需要上传文件,可以将其名称改掉,当然如果管理人员认为没有必要上传文件则可以将其删除。

    方法 :在注册表中查找,shell.application和shell.application1,将其改名为shell.application_mowuming或者其他。

    二、禁止调用以上两组件,依次打开:开始--运行--cmd:执行 regsvr32/u wshom.ocx 回车、regsvr32/u wshext.dll回车即可。

    三、使用组策略GPEDIT.MSC禁止执行命令行模式和注册表编辑器。

    4、上传的文件都会指定到某文件夹中,找到其文件夹,在IIS中设置无执行权限,即使上传进来脚本文件也无法运行。

    总结:本文主要讲解了如何在服务器上限制非法上传,关于网站的本身上传限制管理人员可以根据服务器的相关情况进行设置即可。

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐