配置问题
未对referer字段做验证<br>【危险等级】:低<br>【问题说明】:未对referer字段做验证<br>注:普遍存在请统一修复<br>【修复建议】:对referer字段进行校验,判断请求的发起位置<br>
未禁用OPTIONS方法<br>【危险等级】:低<br>【问题说明】:将GET方法修改为OPTIONS方法,显示指定了可以使用PUT、DELETE等不安全的HTTP方法<br>【修复建议】:除 GET、POST 方法外,将不必要的方法都关闭 <br>
未设置x-frame-options字段<br>【危险等级】:低<br>【问题说明】:没有设置X-Frame-Options字段,攻击者可以嵌入一个iframe标签界面,当用户点击此界面时用户的敏感信息比如账号,密码等信息将会被攻击者截取<br>注:普遍存在请统一修复<br>【修复建议】:加入X-Frame-Options字段,可通过以下几种方法<br> 1.DENY 拒绝任何域加载<br>2.SAMEORIGIN 允许同源域下加载<br>3.ALLOW-FROM 可以定义允许frame加载的页面地址 <br>
未设置httponly属性<br>【危险等级】:低<br>【问题说明】:登陆成功地方未设置httponly属性,攻击者可以通过xss盗取cookie等信息进行恶意攻击<br>【修复建议】:设置httponly属性 <br>
http host头攻击漏洞<br>【危险等级】:中<br>【问题说明】:为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用_SERVER["HTTP_HOST"]。但是这个header是不可信赖的,如果应用程序没有对host header值进行处理,就有可能造成恶意代码的传入。<br>【修复建议】:web应用程序应该使用SERVER_NAME而不是host header。<br>在Apache和Nginx里可以通过设置一个虚拟机来记录所有的非法host header。在Nginx里还可以通过指定一个SERVER_NAME名单,Apache也可以通过指定一个SERVER_NAME名单并开启UseCanonicalName选项。 <br>
GET请求中URL中存在sessionid值<br>【危险等级】:低<br>【问题说明】:URL中存在sessionid值,容易造成sessionid泄露被恶意伪造用户身份登录<br>【修复建议】:隐藏URL中的sessionid值 <br>
cookie中明文传输用户信息<br>【危险等级】:低<br>【问题说明】:cookie中明文存储了用户名,为本地cookie,有泄漏的危险,若被攻击者窃取,可能通过枚举爆破等方式成功登入此账号。<br>【修复建议】:删除cookie中的用户名项 <br>
报文sever头泄露 敏感信息<br>【危险等级】:低<br>【问题说明】:通过HTTP报文的Server消息头可了解服务器所采用的技术及其版本。<br>【修复建议】:在HTTP报文中隐藏此类信息或伪造信息 <br>
未定义统一错误页面<br>【危险等级】:低<br>【问题说明】:未定义错误页面,可能会暴露某些敏感信息,降低入侵难度<br>【修复建议】:统一定义错误页面 <br>
目标URL启用了 Microsoft ASP.NET 调试<br>【危险等级】:低<br>【问题说明】: HTTP响应返回的Web应用程序包括anheader程序命名为x-aspnet-version。这个标头的值是通过VisualStudio来确定哪个版本的ASP.NET在使用。生产现场不需要,应该禁用。<br>【修复建议】:如果要在 ASP.NET 中禁用调试,请编辑您的 web.config 文件,使它含有下列属性: <compilation debug="false"/><br>
存在页面敏感文件<br>【危险等级】:低 <br>【问题说明】:存在页面敏感文件,可能泄露网站信息 <br>【修复建议】:建议删除或禁止访问<br>
Cookie失效处理<br>【危险等级】:低<br>【问题说明】:Cookie未做失效处理,关闭重启浏览器后仍可以直接登录跳转主页面。<br>【修复建议】:将Cookie过期时间设置为会话中断。 <br>
认证问题
登陆页面可以对用户密码做暴力枚举<br>【危险等级】:中<br>【问题说明】:登录界面登录密码输入没有错误限制,为暴力破解提供了捷径。<br>【修复建议】:限制错误密码尝试次数,且限制验证码有效次数为一次。 <br>
修改密码后会话仍然有效<br>【危险等级】:高<br>【问题说明】:修改密码后仍然可以进行操作,不用重新登陆。<br>【修复建议】:修改密码后当前会话即时失效,并要求用户以新密码重新登录。 <br>
用户名及密码通过明文传输<br>【危险等级】:低<br>【问题说明】:用户名及密码通过明文传输,存在个人敏感信息泄露,给攻击者利用登陆的机会。<br>【修复建议】:使用高强度加密算法对密码进行加密。 <br>
登录界面验证码可多次使用<br>【危险等级】:低<br>【问题说明】:登录界面旧验证码仍可使用,可利用此漏洞做绕过<br>【修复建议】:设置验证码的有效性,在成功验证后及时做失效处理 <br>