网站常见漏洞及解决办法课案

上传人:我** 文档编号:114745058 上传时间:2019-11-12 格式:DOC 页数:9 大小:103.50KB
返回 下载 相关 举报
网站常见漏洞及解决办法课案_第1页
第1页 / 共9页
网站常见漏洞及解决办法课案_第2页
第2页 / 共9页
网站常见漏洞及解决办法课案_第3页
第3页 / 共9页
网站常见漏洞及解决办法课案_第4页
第4页 / 共9页
网站常见漏洞及解决办法课案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《网站常见漏洞及解决办法课案》由会员分享,可在线阅读,更多相关《网站常见漏洞及解决办法课案(9页珍藏版)》请在金锄头文库上搜索。

1、网站常见漏洞以及解决办法1问题远端WWW服务支持TRACE请求解决办法开启Apache 的mod_rewrite功能:在Apahce的配置文件httpd.conf中把#LoadModule rewrite_module modules/mod_rewrite.so前的#去掉在httpd.conf中找到下面这段Options FollowSymLinks AllowOverride None 将AllowOverride None 改成 AllowOverride ALL这样Apache的mod_rewrite就开启了。在httpd.conf最后加上RewriteEngine onRewrite

2、Cond %REQUEST_METHOD (TRACE|TRACK)RewriteRule .* - F 禁用URL,返回403HTTP状态码mod_rewrite模块提供了一个基于规则的(使用正则表达 式分析器的)实时转向URL请求的引擎。支持每个规则可以拥有不限数量的规则以及附加条件规则的灵活而且强大的URL操作机制。此URL操作可以取决于各种测试,比如服务器变量、环境变量、HTTP头、时间标记,甚至各种格式的用于匹配URL组成部分的查找数据库。RewriteEngine OnRewriteCond %HTTP_HOST $ NCRewriteRule /(.*)$ http:/ R=30

3、1,L对于unix,Red Hat Linux运行的Apache是编译好的程序,提示信息被编译在程序里,要隐藏这些信息需要修改Apache的源代码,然后,重新编译安装程序,以替换里面的提示内容。2问题远端HTTP服务器类型和版本信息泄漏解决办法apache版本信息泄漏解决方法:在配置文件Apache2.2/conf/httpd.conf中加入ServerTokens ProductOnly(等级Prod,Major, Minor, Min, OS)ServerSignature Off重启 apache 现在 http 头里面只看到: Server: Apache/2, /2.0, /2.0.

4、41, /2.0.41 (Unix)服务器类型泄漏解决办法:Tomcat:方法一:修改ServerInfo.properties里的版本信息Tomcat45:tomcat_home serverlibcatalina.jarorgapachecatalinautilServerInfo.propertiesTomcat6:tomcat_home libcatalina.jar orgapachecatalinautilServerInfo.properties操作:用WinRAR打开catalina.jar 找到ServerInfo.properties 解压并修改 再拖入即可。方法二:使用W

5、EB容器捕获异常进行处理在web.xml文件头部加上:java.lang.Exception/system_error.jsp404/system_error.jsp400/system_error.jsp500/system_error.jsp3问题 Apache MPM worker.c 远程拒绝服务漏洞。Apache 2的worker模块在处理中止的TCP连接时存在内存泄漏,远程攻击者可以反复触发这种情况耗尽所有可用的内存,最终导致拒绝服务。 Apache.htaccess本地PCRE整数溢出权限提升漏洞。PCRE在处理字符类时存在缓冲区溢出漏洞,如果用户发送了codepoint大于25

6、5的超长UTF-8字符类的话,就可能触发这个溢出,导致执行任意指令。 Apache mod_imagemap和mod_imap模块跨站脚本漏洞。Apache的mod_imagemap和mod_imap模块中没有正确地过滤某些用户输入,允许远程攻击者提交恶意的HTTP请求执行跨站脚本攻击。 Apache mod_rewrite模块单字节缓冲区溢出漏洞。Apache的mod_rewrite模块在转义绝对URI主题时存在单字节缓冲区溢出漏洞,攻击者可能利用此漏洞在服务器上执行任意指令。mod_rewrite模块的escape_absolute_uri()函数分离LDAP URL中的令牌时,会导致在字

7、符指针数组以外写入指向用户控制数据的指针,这样就可能完全控制受影响的主机。解决办法这些问题都是由于Apache 自身的缺陷引起的。解决方法: 打apache补丁可解决 升级apache到最新版本。建议最好用升级apache到最新版本。4问题SQL注入攻击分析SQL注入的原理:就是从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取你想到得到的资料。1、单引号法。通过错误提示,判断获取服务器的信息。2、经典的1=1、1=2测试法。这只是传入参数是数字型的时候用的判断方法。3、判断数据库类型及注入方法。and user0 user是SQLServer的一个内置变量,它的值是当前连接的用户名

8、,类型为nvarchar。拿一个nvarchar的值跟int的数0比较,系统会先试图将nvarchar的值转成int型,当然,转的过程中肯定会出错,SQLServer的出错提示是:将nvarchar值 ”abc” 转换数据类型为 int 的列时发生语法错误,呵呵,abc正是变量user的值,这样,不废吹灰之力就拿到了数据库的用户名。防止1、数据库访问用预定义会话 PreparedStatement代替Statement 从根本上防止SQL截断2、后台过滤(为输入的信息提供反馈信息,只要验证数据格式/长度正确就可以了,不必子自作主张的去过滤/转义各种特殊符号)3、前台过滤(这只是一个幌子,谁也不

9、能指望前台过滤能防止什么,不过可以减少服务器压力) 4、敏感信息提交(比如帐号密码)设置验证码(因为除了注入,还有穷举)5、数据库安全设置(每种数据库的弱点不太一样)。Java也提供了防止SQL注入攻击的方法。由于JDBC都是基于接口的设计,所以对于不同的数据库,代码基本一样。Connectionconn=DriverManager.getConnection(url,user,password);Stringquery=select*fromtable_userwhereuser_name=?;PreparedStatementpreState=conn.prepareStatement(q

10、uery);preState.setString(1,aaa);ResultSetrs=preState.executeQuery();查询了表table_user中字段user_name为aaa的数据,由于采用了参数化查询的方式,JDBC底层已经防止了SQL注入攻击。在Java中,对于所有的数据库,参数化查询的方式都和上面类似,区别在于数据库连接字符串。5问题Apache升级过程升级全过程 从网上下载 mod_jk.so/1.2.27(apache和tomcat的连接文件) 备份Apache目录下的conf目录及modules目录下的mod_jk.so/1.2.14文件 停掉Apache的相

11、关服务 卸栽Apache 并把原来的apache目录整体删除 安装apache_2.2.11。 用 IE 浏览器访问 Apache 安装后的网站,要能访问 Apache 的默认首页。 把mod_jk.so文件拷贝到 %Apache_Home%/modules 目录下。 配置虚拟主机,包括 Apache、Tomcat。对于 Apache 版本升级操作,建议参照原来的http.conf文件,改动新的http.conf文件几个地方即可。强烈建议:先备份系统默认安装后的 http.conf 文件。主要修改位置:LoadModule jk_module modules/mod_jk.soJkWorker

12、sFile D:/Apache Group/Tomcat/conf/workers.propertiesJkLogFile D:/Apache Group/Tomcat/logs/mod_jk2.log JkLogLevel info#默认服务ServerName :80 #默认首页设置DirectoryIndex index.html index.html.var index.jsp index.htm index.do # 禁止访问目录设置 AllowOverride None Deny from All NameVirtualHost .:80#虚拟目录配置 ServerName #域

13、名地址DocumentRoot D:/?/? #工程路径# apache日志文件配置 ErrorLog logs/-error_log CustomLog logs/-access_log common JkMount /servlet/* ajp13 JkMount /*.jsp ajp13 ServerName #域名地址DocumentRoot D:/?/? #工程路径# apache日志文件配置ErrorLog logs/-error_log 86400 480 CustomLog logs/-access_log 86400 480 common JkMount /servlet/* ajp13 JkMount /*.jsp ajp13 ServerName #域名地址

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号