随着WEB应用技术的不断进步与发展,WEB应用程序承载了越来越多的业务,而随之而来的也是WEB应用所面临的越来越复杂的安全问题。而WEB日志作为WEB安全中的一个重要组成部分,不但可在事后起到追踪和溯源的作用,更能在日常维护中作为安全运维工作的重要参考依据。

一、OWASP的安全威胁

OWASP(开放Web软体安全项目- Open Web Application Security Project) 是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究。其使命是使应用软件更加安全,使企业和组织能够对应用安全风险作出更清晰的决策。目前OWASP全球拥有130个分会近万名会员,共同推动了安全标准、安全测试工具、安全指导手册等应用安全技术的发展。

编号

来源

描述

是否产

生日志

备注

01

OWASP

Injection

已定义特征

02

OWASP

Broken Authentication and session Management

统计分析

03

OWASP

Cross-Site Scripting (XSS)

已定义特征

04

OWASP

Insecure Direct Object References

已定义部分攻击特征+正确配置

05

OWASP

Security Misconfiguration

日志中不记录具体请求的内容信息

06

OWASP

Sensitive Data Exposure

日志中不记录具体请求的内容信息

07

OWASP

Missing Function Level Access Control

已定义部分攻击特征+正确配置

08

OWASP

Cross-Site Request Forgery (CSRF)

日志中不记录具体请求的内容信息

09

OWASP

Using Components with Known Vulnerabilities

已定义特征

10

OWASP

Unvalidated Redirects and Forwards

日志中不记录具体请求的内容信息

二、分析规则

2.1 Injection  注入

来源

WASC

ID

40

检测方案

特征匹配

目标字段

IIS

URI Query(cs-uri-query)

Apache

request

分析方法

SQL注入、OS命令注入、XPATH注入、LDAP注入、JSON注入、URL注入

已定义匹配规则

2.2 失效的身份认证和会话管理

2.2.1 Credential/Session ID Prediction

来源

WASC

ID

检测方案

统计分析

涉及字段

IIS

Client IP Address(c-ip)、需要cookie信息、URI

Apache

host、需要cookie信息、request

分析方法

统计同一源IP短时间内访问web的无效session(cookie)次数,如果超过一定的基线阈值则可以视为攻击。

如果同一session ID在一定时间内,由不同client IP address在重用,则可以视为攻击。

URI中如出现大量sessionID字串的顺序出现

2.2.2 会话超时设置不当

来源

WASC

ID

检测方案

涉及字段

IIS

Client IP Address(c-ip)、需要cookie信息、URI

Apache

host、需要cookie信息、request

分析方法

根据会话需要,设置会话的过期时间,并且提供logout功能。

2.3 Cross-Site Scripting (xss)跨站脚本

来源

WASC

ID

检测方案

特征匹配

目标字段

IIS

URI Query(cs-uri-query)

Apache

request

分析方法

已定义匹配规则

2.4 不安全的直接对象引用

2.4.1 Path Traversal(pt) 路径遍历

来源

其他

ID

检测方案

特征匹配

目标字段

IIS

URI Query(cs-uri-query)

Apache

request

分析方法

Detects basic directory traversal

检测到路径遍历

已定义规则

2.4.2 水平越权

来源

其他

ID

检测方案

目标字段

IIS

URI Query(cs-uri-query)

Apache

request

分析方法

遍历用户id批量获取用户信息

正确配置:判断用户的session id,是否具有访问或操作权限;

将id进行加密。

2.5 安全配置错误

来源

WASC

ID

检测方案

涉及字段

IIS

Client IP Address(c-ip)、URI、HTTP Status(sc-status)

Apache

host、request、statuscode

分析方法

默认配置漏洞容易被利用

修改为安全的属性配置。最少使用模块配置,最少权限配置。

2.6 敏感数据泄漏

2.6.1 HTTPS传输

来源

其他

ID

58

检测方案

目标字段

IIS

URI Query(cs-uri-query)

Apache

request

分析方法

页面传输使用https保护传输

2.6.2 信息未加密

来源

其他

ID

59

检测方案

目标字段

IIS

URI Query(cs-uri-query)

Apache

request

分析方法

对敏感信息进行加密。

对用户来说,不用应用的密码设置为不同的,防止撞库。

2.7 缺失级功能访问控制

2.7.1 Sensitive Path Guess敏感路径猜测

来源

其他

ID

检测方案

特征匹配

目标字段

IIS

Ip referrer url status

Apache

Ip referrer url status

分析方法

是否访问了该服务器敏感目录如admin等管理后台.

已定义规则。

2.7.2 垂直权限缺失访问控制

来源

其他

ID

59

检测方案

目标字段

IIS

URI Query(cs-uri-query)

Apache

request

分析方法

属于业务设计缺陷的安全问题,

正确配置:应当对访问控制加权限。

2.9 The Third Party Components Access第三方组件访问

来源

其他

ID

检测方案

特征匹配

目标字段

IIS

URI  status

Apache

Request  status

分析方法

大多第三方组件曾出现过严重安全漏洞,且均存在缺失路径,如果对某组件出现过漏洞的路径进行访问,则有可能为攻击行为,包含的组件有在线编辑器ewebeditor和fckeditor,其特征分别为eWebEditor、eWebEditor.mdb、editor/admin_login.asp和filemanager、editor/filemanager/browser等

OWASP十大攻击类型详解的更多相关文章

  1. Java基础学习总结(33)——Java8 十大新特性详解

    Java8 十大新特性详解 本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API ...

  2. js十大排序算法详解

    十大经典算法导图  图片名词解释:n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存 1.冒泡排序 1.1  原始人冒泡排序 functi ...

  3. JAVA8 十大新特性详解

    前言: Java8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章, 例如Playing with Java ...

  4. Java8 十大新特性详解(转)

    本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口 ...

  5. java1.8十大新特性详解

    "Java is still not dead-and people are starting to figure that out." 本教程将用带注释的简单代码来描述新特性,你 ...

  6. Java语言:JAVA8 十大新特性详解(zz)

    关键词: Lambda表达式.函数式接口.方法与构造函数引用.接口的默认方法 原文地址: http://www.jb51.net/article/48304.htm 本教程将Java8的新特新逐一列出 ...

  7. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

  8. C++11 并发指南六(atomic 类型详解四 C 风格原子操作介绍)

    前面三篇文章<C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)>.<C++11 并发指南六( <atomic> 类型详解二 std::at ...

  9. Java进阶(三十二) HttpClient使用详解

    Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们 ...

随机推荐

  1. Android APK反编译就这么简单 具体解释

    在学习Android开发的过程你.你往往会去借鉴别人的应用是怎么开发的,那些美丽的动画和精致的布局可能会让你爱不释手,作为一个开发人员.你可能会非常想知道这些效果界面是怎么去实现的,这时,你便能够对改 ...

  2. C++11写算法之选择排序

    选择排序,顾名思义,指从数组后面将最小的值找出来,然后与最前面(指当前位置)值进行交换. 时间复杂度:O(n^2) 空间复杂度:O(1) 此处应用了C++11的auto , lambda , stat ...

  3. Python:简述 线程、进程和协程

    Python线程 定义:Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. #!/usr/bin/env python # -*- coding:utf-8 -*- impor ...

  4. Laravel5.1 路由 -路由分组

    路由分组有啥好处? 有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中. 1 路由分组可以共享哪些属性? 中间件 middl ...

  5. 【BZOJ3998】[TJOI2015]弦论 后缀自动机

    [BZOJ3998][TJOI2015]弦论 Description 对于一个给定长度为N的字符串,求它的第K小子串是什么. Input 第一行是一个仅由小写英文字母构成的字符串S 第二行为两个整数T ...

  6. Linux中的日志分析及管理

    日志文件对于诊断和解决系统中的问题很有帮助,因为在Linux系统中运行的程序通常会把系统消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会“有据可查”.此外,当主机遭受攻击时,日志文件还可以帮 ...

  7. 学习编译并运行C代码

    以<UNIX网络编程>中的代码为例,学习如何编译并运行C代码. 根据 UNIX网络编程(第3版)环境搭建——使用MAC OSX10.10,能够成功运行 1.下载本书的头文件及示例源码原书地 ...

  8. xenserver 模板导出导入

    由于业务需求,新增一台xenserver,需要将原先创建好的模板环境导入到新的母机上面,此处记录一下 1.导出模板 # 获取需要导出的模板uuid [root@localhost ~]# xe tem ...

  9. pymysql连接数据库,实现数据库增删改查

    1.数据库连接 # 创建连接 def create_conn(): import pymysql conn = pymysql.connect( host='localhost', port=3306 ...

  10. python实现复制整个目录的方法

    import shutil #复制文件 shutil.copyfile('listfile.py', 'd:/test.py') #复制目录 shutil.copytree('d:/temp', 'c ...