zoukankan      html  css  js  c++  java
  • web 安全

    一、客户端脚本安全
    (1)跨站脚本攻击(XSS):
    XSS攻击,通常指黑客通过“html注入” 篡改了网页,插入了恶意的脚本,从而在用户浏览网页的时候,控制用户浏览器的一种攻击。
    最常见的XSS攻击就是通过读取浏览器的Cookie对象,从而发起“cookie劫持”,当前用户的登录凭证存储于服务器的session中,
    而在浏览器中是以cookie的形式进行存储的,cookie被劫持后,意味着攻击者可以不通过密码而直接登录系统。我们也可以直接在浏览器中输入脚本javascript:alert(document.cookie)来获取当前cookie值。
    为cookie植入HttpOnly标识。
    解决方案:<Context docBase="E: omcatapache-tomcat-6.0.24/webapps/netcredit" path="/netcredit" reloadable="false" useHttpOnly="true"/>
    或者:在web.xml 中 加入
    <session-config>
    <cookie-config>
    <http-only>true</http-only>
    </cookie-config>
    </session-config>
    二、服务器端应用安全
    1、SQL注入攻击:
    Sql注入的的两个关键条件:第一个是用户能够控制输入;第二个是原本程序要执行的代码,拼接了用户输入的数据。PreparedStatement与Statement
    2.关闭web服务器的错误回显功能,这样可以防止攻击者对系统进行攻击后,通过回显的详细错误信息对攻击内容进行调整,对攻击者提供极大的便利。
    我们在项目的web.xml文件中添加以下示例代码
    <error-page>
    <error-code>400</error-code>
    <location>/error400.jsp</location>
    </error-page>
    3.数据库自身使用最小权限原则,系统程序不使用最高权限的root对数据库进行连接,而是使用能满足系统需求的最小权限账户进行数据库连接,
    而且多个数据库之间使用不同的账户,保证每个数据库都有独立对应的账户。
    4、认证与会话管理
    登录使用验证码、限制密码错误次数,如果超过次数可以限制该ip一段时间内不可登录。
    给Session设置了一个有效时间,来保证在有效时间后Session将自动销毁,以防止Session长连接所带来的安全隐患
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>

    三、文件上传漏洞
    文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过脚本文件获得了执行服务器端命令的能力,这样将会导致严重的后果。
    可以通过控制对上传文件详细的格式验证控制脚本文件上传;如果以上验证都成功通过,本系统在对文件进行存储时会将文件名进行重命名处理,
    并且设置相应的web服务器,默认不显示目录。因为文件上传如果需要执行代码,则需要用户能够访问到这个文件,因此使用随机数改写了文件名,
    将极大的增加攻击的成本,甚至根本无法成功实施攻击。

  • 相关阅读:
    闭包如何产生内存消耗及性能消耗
    纯色半透明
    CSS选择符权重
    浅谈模块化的JavaScript
    WEB前端知识体系
    侃侃meta标签
    【读书笔记】读《编写可维护的JavaScript》 编程风格(第一部分)
    谈谈防御性编程
    很小的一个函数执行时间调试器Timer
    谈谈防止重复点击提交
  • 原文地址:https://www.cnblogs.com/jalja/p/5633872.html
Copyright © 2011-2022 走看看