zoukankan      html  css  js  c++  java
  • 代码审核:安全性测试方案

    安全性测试方案

    一、静态代码测试

    主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞。

     

    代码审计工具RIPS:

     

    介绍:RIPS是一个用php编写的源代码分析工具,它使用了静态分析技术,能够自动化地挖掘PHP源代码潜在的安全漏洞。渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码。由于静态源代码分析的限制,漏洞是否真正存在,仍然需要代码审阅者确认。RIPS能够检测XSS, SQL注入, 文件泄露,Header Injection漏洞等。

     

    官方网站:http://rips-scanner.sourceforge.net/

     

    使用方法:下载后解压到web目录,然后访问此目录,输入需检测的路径(/var/www/web1)后提交(即点击“SCAN”按钮)。

     

    测试示例:

    对于前台功能的测试结果如下图,根据提示找到对应代码并修复。

    测试分析:

    ①前端使用$_FILE获取参数易导致跨站攻击。对于文件上传,可以使用TP自带的上传功能。

    API项目部分参数使用$_POST$_GET方式获取参数易导致跨站攻击。

    ③后端使用的Ueditor插件上传部分可能引起跨站攻击,应注意对Ueditor进行相关配置。

    二、动态渗透测试

    使用自动化工具或者人工的方法模拟黑客的输入,对应用系统进行攻击性测试,从中找出运行时刻所存在的安全漏洞。以反向安全性测试为主(即事先检查哪些地方可能存在安全隐患,然后针对这些可能的隐患进行测试)。

    1、建立缺陷威胁模型

    建立缺陷威胁模型主要是从已知的安全漏洞入手,检查软件中是否存在已知的漏洞。建立威胁模型时,需要先确定软件牵涉到哪些专业领域,再根据各个专业领域所遇到的攻击手段来进行建模。

    涉及领域有:①操作系统

    ②服务器环境:数据库漏洞、运行语言、服务器

    ③应用程序:开发框架漏洞、业务逻辑漏洞等

    2寻找和扫描入侵点

    检查威胁模型里的哪些缺陷可能在本软件中发生,再将可能发生的威胁纳入入侵点矩阵进行管理。如果有成熟的漏洞扫描工具,那么直接使用漏洞扫描工具进行扫描,然后将发现的可疑问题纳入入侵点矩阵进行管理。

    安全领域

    安全漏洞

    Web应用

    SQL注入

    跨站攻击(XSS

    跨站请求伪造(CSRF

    分布式拒绝服务攻击(DDOS

    文件上传

    暴力破解

    Cookie/Session安全

    数据加密

    越权操作

    开发框架漏洞

    Web服务器

    目录遍历漏洞

    不安全的配置管理

    操作系统

    缓冲区溢出

    文件执行

    不安全的配置管理

    3入侵矩阵的验证测试

    1)系统测试

    使用360网站安全检测http://webscan.360.cn/)进行测试。

    测试注意:实际测试时,应在测试完一遍以后,将登陆模块注释掉,并初始化用户信息,以便进入个人中心进行测试。测试时建议先清空缓存文件。

    测试结果示例:

     

    2)工具测试

    使用AWVS进行测试。

    下载地址:http://www.freebuf.com/sectool/13103.html  (或去官方网站下载)

    使用教程:http://www.jb51.net/hack/497815.html

    测试注意事项:由于阿里云的安全防护功能,测试可能会被当做攻击而被拦截。因此测试前需要将IP地址加入阿里云白名单,具体可参照360网站安全检测添加IP到阿里云白名单的步骤。如果仍无法进行测试,可以尝试本地测试。

    测试结果示例如图:

    注:也可使用sqlmap单独进行SQL注入测试。

    3)手动测试

    由于手动测试的局限性及大工作量,因此不建议使用手动测试。

    三、业务逻辑分析

    对于静态代码测试与动态渗透测试,只能检查代码的安全性。对于业务逻辑方面仍需要进行分析与测试,以确定业务逻辑实现是否存在漏洞。

    ①需要走查分析的功能模块:

    供车方:报价、新增(员工、司机、巴士、银行卡)、密码修改、代客包车等

    包车方:包车发布、登录注册、在线充值、余额提现、完善资料、新增(员工、银行卡)、密码设置等。

    ②分析内容

    1)数据有效性检查

    2)是否可以重复提交

    3)权限检查

    4)……

    四、建议

    ①开通阿里云的WEB应用防火墙

    ②开通阿里云的态势感知功能

    ③阿里云云盾会定期扫描网站并检测系统存在漏洞,可以定期检查

    ④上线前对于LinuxNginxphp的配置项进行优化

  • 相关阅读:
    PNG 格式小图标的 CSS 任意颜色赋色技术
    CSS导航栏下划线跟随效果
    canvas 画表格、填数据、连线、拖拽、鼠标滚轮缩放
    【IE浏览器】GET请求防止读取缓存数据的解决方法
    JavaWeb——使用JavaBean
    数字签名——确保数据来源的可认证(鉴别)性和数据发送行为的不可否认性
    信息完整性验证技术——散列函数提供的消息认证技术
    OSI安全体系结构
    (持续更新)JavaScript
    (持续更新)SVN使用总结
  • 原文地址:https://www.cnblogs.com/wangyuman26/p/6784791.html
Copyright © 2011-2022 走看看