web安全核心机制

来源:互联网 发布:数据统计表格怎么做 编辑:程序博客网 时间:2024/05/16 00:42

web安全核心机制分以下几个部分

1. 用户访问

    a. 认证,用户身份识别

    b. 会话管理,用户验证之后,接下来通过回话来识别用户,这种方式最主要的是cookie机制,其中cookie生产机制是这个阶段最重要的安全漏洞来源

    c. 访问控制,能够正确限制每个已经认证的用户访问数据

2. 用户的输入数据   用户的输入数据是多种多样的,对于安全机制而言,对用户输入的数据应该假设输入的数据都是不安全的,然后进行验证

    a. 黑名单的方式处理   这种做法容易被绕过,一种非常常用的方式是使用空字符

    b. 白名单方式  这种方式相对来说好一些,但是由于白名单也可能允许一些特殊字符,导致漏洞存在

    c. 净化  对输入数据进行转移等处理

    d. 安全数据处理

    e. 语法检查,也就是对输入数据进行语义检查。但是这种方式不能处理跟正常请求一样,但是带有恶意动机的请求。例如攻击在可以通过隐藏表单字段提交的账号,访问其他用户的账号

3. 输入数据的边界处理

    对输入数据进行分阶段的处理,确定各个阶段的边界,是对输入数据进行检查的有效手段。客户端发往服务器的数据,在不同的阶段已经被不同的组件进行了处理,可能已经发生了改变,因此不同的阶段进行不同的安全过滤效率会比较高。并且能够避免对不同的安全过滤可能出现矛盾的地方(例如为了防止命令注入攻击需要防止有“&”字符,但是为了防止xss攻击,需要将"<"转义成&gt)

    下图说明了输入边界处理的有效性:


    

                             (1)登录的时候对输入的用户名和密码进行检查,看字符长度是否对,是否包含禁止的字符等

                             (2)向数据库查询用户是否存在,发送sql语句的时候,检查是否存在sql注入的危险

                             (3)成功登录后向soap服务器进一步发送用户信息请求,这个时候对xml元素进行适当编码

                             (4)用户输入的数据需要返回给客户端的时候,为了防止xss攻击,对这些输入的数据进行正确的编码转义


3. 对输入数据需要多步确认和规范化

    数据规范化就是字符解码,比如说在html传输的时候“%”需要编码成%25,这些需要解码。输入数据在过滤之后规范化,可能会导致sql注入,例如

    %2527

    规范化之后正好是%27,可能会导致sql注入

    另外,在过滤输入数据时,如果删除某些敏感字符串,这种方法可以被攻击者利用绕过,比如说为了防止xss,删除

    <script>

    但是攻击者输入<scr<script>ipt>,去除掉<script>后,还是会有<script>

    因此需要多步的确认和规范化


4. web程序对攻击的处理

    (1) 对不可预知的错误要正确处理,不能返回给客户详细的错误信息,配置服务器的错误返回信息或者修改成自己的错误返回信息,这样减少黑客根据错误返回信息得到用于攻击的敏感数据

    (2) 对网站要有详细的审计日志。这样出问题后可以根据审计日志查明问题原因,找到存在的漏洞。但是审计日志一定要保护好,如果被攻击者拿到,攻击者可以根据审计日志得到用于攻击的敏感信息

    (3) 报警机制。web应用程序发现攻击后,应该能够给管理员报警,是的管理员能够及时响应,但是报警一定要准确,这样管理员才会重视报警,最好能够根据应用程序的逻辑进行报警,这种报警时最安全的

    (4)应对攻击。能够及时的修补漏洞,降低攻击的速度等


5. web应用程序的管理功能

    web应用程序的管理功能是指web管理员对web网站的管理,web管理员通常也是通过web进行管理,比如创建用户、审计、监控、执行诊断任务等。正因为管理功能的权限如此之高,管理功能是黑客重点攻击的目标

    web应用程序的管理功能可能在以下几点存在问题:

    (1)管理用户的认证机制存在问题,管理用户被攻破,取得管理员权限

    (2)用户管理的访问控制权限没有控制好,导致被攻击者创建了具有高权限的新管理员

    (3)管理功能能够显示所有用户提交的数据,因此管理功能上的xss漏洞被人利用后,会危害到会话的安全

    (4)管理员账户一般是可信任的账户,而一般渗透人员只能使用普通账户,因此管理员账户的安全性往往没有经过详细的测试,这种用户往往可以执行非常危险的操作,比如读写磁盘上的文件,一旦管理员账户被攻破,那么狠可能整个服务器被控制







0 0
原创粉丝点击