网站渗透测试

目录

[TOC]
公司的网站需要渗透测试,学习了一下渗透测试的方法,记录下,方便后期查阅。

(1) 暴力破解

1.1 风险分析:

数据传输过程使用非加密的http协议,因此可对数据传输过程进行抓包分析;用户名、密码明文,且未设置验证码,导致可进行暴力破解,以获取身份凭证信息

1.2 加固建议

1:使用https 加密传输
可以在apache或者tomcat下配置好证书,启用https就ok,网上很多教程。可以谷歌或者百度下。
2:用户名和密码不要用明文传输
现在的做法是登陆的时候对post到服务器的密码字段进行MD5加密。
下面是我使用的JS的MD5加密插件:

这里可以下载:http://blog.greycode.cn/labs/jqmd5/jquery.md5.js

演示效果:http://blog.greycode.cn/labs/jqmd5/jquery.md5.html

使用示例:

var md5 = $.md5($("#password").val());

(2) Jquery 低版本漏洞

2.1 风险分析

目前最新版的jquery版本为v1.11.3,我们网站使用的v1.2.6版本为较旧版本,存在多个安全漏洞。
众所周知Jquery 版本小于 1.6.3 的都存下XSS 跨站访问漏洞,建议升级下。

2.2 加固建议

网站使用的一个插件使用的是 1.2.6的老版本jQuery,所以删掉这个老版本升级到最新版本的jQuery就OK。

(3) 开启了不安全的 Optins属性

3.1 风险分析

对网站发送OPTIONS请求,发现网站开启了不安全的OPTIONS方法,可获取网站敏感信息。
Tips:
1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。

3.2 加固建议

关闭OPTIONS,TRACE等不安全的OPTIONS方法
具体步骤:
因为我们网站是使用的apache 2.2.15做的web服务器,所以在Apache上修改配置文件来管理options选项

请在httpd.conf 添加如下代码

<Location />
    <Limit OPTIONS>
        Deny from all
    </Limit>
</Location>

加固前发送options请求,可以看到能够正常发送请求和收到200的返回
网站渗透测试_第1张图片
加固后,可以看到收到 403
网站渗透测试_第2张图片

(4) 网站应用程序信息泄露

4.1 风险分析

通过构造语句可导致网站应用程序报错,错误信息中包含敏感信息,导致网站敏感信息泄露。
例如:随便访问一个不存在的链接会返回错误页面,页面会带上服务器的敏感信息
网站渗透测试_第3张图片

4.2 加固建议

修改配置文件,屏蔽含有敏感信息的页面
修改

ServerTokens OS

ServerTokens Prod

则网站不回返回相应的服务器信息(屏蔽了操作系统信息和apache版本
网站渗透测试_第4张图片

此时还要修改相应配置文件

ServerSignature On

修改为

ServerSignature off

网站渗透测试_第5张图片

此时屏蔽掉了所有的服务器信息

(5) Cookie未启用HttpOnly属性

5.1 风险分析

未启用httponly属性可能导致 Cookie 被窃取。窃取的 Cookie 可以包含标识站点用户的敏感信息,以便伪装成用户或获取敏感信息。

5.2 加固建议

在Cookie设置时加上HttpOnly属性。

步骤
在tomcat中配置

<Context useHttpOnly="true">

你可能感兴趣的:(网站渗透测试)