• 安全测试总结


    安全测试的问题分类

    1. sql注入
    2. js攻击
    3. 缺head头
    4. 其他

    安全测试的工具

    1. appscan
    2. BurpSuite

    安全测试流程

    1. 启动网站(如果影响不大,可以把登陆退出功能暂时注释掉,在程序里写上固定的用户),确定网站可以正确运行,数据齐全(建议使用新建的数据库,因为安全测试会导入很多乱七八糟的数据)
    2. 运行测试软件,配置测试环境(比如数据库类型,系统类型等),手动探索,把所有的连接,功能什么的都运行一遍
    3. 进行安全测试(由于时间较长,所以要把测试服务器和测试机的节能关掉,以免自动休眠)
    4. 依次手动检验测试出来的每一个问题,力求复现每一个问题,删除误判的,导出测试报告
    5. 整理excel表格,依次列出每个问题的url,发生问题的参数,并标明修改进度(未重现,重现,修改完毕,复查完毕,已保留)
    6. 已重现的找相关人员进行修改,未重现的或者不理解的找相关人员或高级工程师进行咨询确认.
    7. 手动测试已经修改过的问题,确认不会复现
    8. 用测试工具打开上次的测试文件,重新测试.
    9. 根据测试结果再次整理漏洞进度表格
    10. 写测试报告

    注意:

    1.测试软件测出的问题不一定是准确的,只有能手动复现的问题才算漏洞.

    2.不能复现的问题,不一定不存在,可能是你技术水平不过关或者复现方法有问题

    3.测试软件没测出来的问题类型,不一定不存在,可以进行手动测试

    4.测试软件测的某类问题不一定全面,如果测出一个问题,并且可以复现,那么其他类似的功能可能都有这个问题,即使软件没测出来

    1.sql注入

    问题产生原因:  后台没有使用框架的参数注入功能,而使用了sql字符串和参数的拼接

    测试方法:  ' or 'f'='f' 或者 ' and 'f'!='f'

    修复方法:  使用框架本身的set方法来注入值,或者转义参数中的特殊字符,比如',--等(这个方法不保险,因为总会遗忘一些东西)

    2.js攻击

    主要为XXS攻击和CSRF攻击

    XSS攻击

    问题产生原因:  后台传来的参数里面的特殊符号没有进行转义

    测试方法:  '"><script>alert(1)</script> 或者'"></script>

    修复方法:  1.后台传参之前,对特殊符号进行转义.

         2.使用ajax等方法,获取参数后,在前台使用进行转义

         3.使用<c:out value="${xxx}"/>

         4.放入隐藏的textarea中,用js取出来使用.

    CSRF攻击

    问题产生原因:  没有区分请求的来源网站

    测试方法:  写一个form表单,提交到测试网站中,看看是否能执行

    修复方法:  添加一个随机的隐藏参数,参考网站 http://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/

    其他js攻击:盗用cookie,盗用会话标识....

    3.缺head头

    问题产生原因:  缺少head头或者meat标签

    测试方法:  查看浏览器的network,看看response头有哪些

    修复方法:  补充缺少的head头 (参考安全相关的head头)

    4.其他

    其他问题零零散散,也不少,有严重的,有不严重的,比如:

    系统级别漏洞:可以任意上传下载文件(这个主要是把文件路径写在了参数里面),修改策略:路径应该保存再数据库,参数里写相应路径的id;

    框架级别漏洞:比如当年的struts2的漏洞#xxx19(好像是这个号),可以直接被黑客操纵获取服务器的root权限,简直屌爆了.

    参考漏洞:html中留有系统相关的注释(这里建议使用jsp的注释,源码可看,转成html就没了<%--”和“--%>

    安全测试工具:

    appscan:

    我现在用的是appscan9.0,这个版本有破解文件,总体来说使用方便,可以生成美观的pdf格式的漏洞报告,很给力,缺点是很多误报

    BurpSuite:

    这个软件分为free版和收费版,free版只有拦截器的功能,不能进行安全测试,收费版可以进行安全测试,从我的几次操作来看,能测出一些appscan无法测出的问题.

    当然,因为这个软件的破解不完全(到了一定时间破解就失效了),所以我通常用它来做拦截器

    wireshark:

    这个软件本身不能进行安全测试,但是由于抓包功能强大,所以可以作为辅助作用,比如当appscan频繁让你登陆时,你可以抓包看看发送的请求是不是缺少认证(我经历过一次,抓包显示appscan发送的请求总是缺少认证,由于appscan配置不是很熟练,所以把程序的第三方认证给删了).

  • 相关阅读:
    Oracle RAC的五大优势及其劣势
    Lucene全文检索基础
    oracle手工生成AWR报告方法记录
    log file sync 等侍值高的一般通用解决办法
    log file sync 因为数据线有问题而造成高等侍的表现
    MongoDB实用教程
    1小时学会JQuery
    Ajax+Struts2实现验证码验证功能
    硬件01:门
    关于软件工程的思考15:人和绩效
  • 原文地址:https://www.cnblogs.com/lakeslove/p/6377731.html
Copyright © 2020-2023  润新知