51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

楼主: lsekfe
打印 上一主题 下一主题

【你来问我来答第42期】:揭开web安全测试的神秘面纱(已结束)

[复制链接]

该用户从未签到

21#
发表于 2014-1-5 14:45:44 | 只看该作者
你好,请问你的安全测试架构是怎么建立起来的,你为什么选用这种架构?
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2014-1-6 12:58:55 | 只看该作者
1.安全测试注意事项?
2.安全测试完毕后,如何分析才不至于漏掉关键点
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2014-1-6 14:09:34 | 只看该作者
想请问一下勇哥,现在企业在安全测试领域的研究特别是软件和分布式系统的安全性投入感觉不是很大,而且很多服务器和防火墙现在也对安全性做了很多默认的设置,导致的结果是感觉进行安全性测试的价值很难体现,或者很难真正找到一些有价值的安全性问题,不知道勇哥是如何看待这个问题的呢?
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2014-1-6 15:38:55 | 只看该作者
web方面最基本的安全测试会包含哪些方面?
要做深入的安全测试,需要从哪些知识入手??
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    25#
    发表于 2014-1-6 16:12:39 | 只看该作者
    回复 4# 千余同


    首先我要说,严格意义测试应该从需求开始抓起,参与需求的评审,对详细设计也要测试,如果可以做到这样,那么无需求测试的状况就不会出现了;但目前我们并没有做这么多,或者说做得不完全。所以每个测试人员都会或多或少的遇到这种无完善需求文档的测试状况,这时候我们需要谨记的则是我们必须保证我们的测试用例包含了你所要测试对象的所有功能点。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    26#
    发表于 2014-1-6 16:30:39 | 只看该作者
    本帖最后由 jacksonren1987 于 2014-1-7 09:54 编辑

    回复 [url=http://bbs.51testing.com/redirect.php?goto=;findpost&pid=3218151&ptid=1000310]7#[/url] 黑羽祭


    问题很好~~我按顺序回复吧O(∩_∩)O:
    1. 谈到从无到有,最重要的就是无的阶段。首先要让公司、开发部分认识到安全对于一个系统的价值,例如我们抓一个XSS漏洞,截获到用户的cookie;或者我们从服务器端日志分析出系统曾遭受了哪些安全攻击,并对此进行针对性建议。将这些问题在部门会议、冲刺 (sprint) 计划会议等重要会议上提出,很快就可以被接受,因为当前安全问题的确是重大问题,如果你有这个能力,公司自然愿意放手让你去做。
    其次再说安全团队的建设,其实和其他测试团队一样,我们需要不同技术能力、不同特色的人组成一支精锐部队,来应对安全难题。大体上可以分为先验团队和监控团队。先验团队中包括系统安全架构设计(安全分析、策略设计)、安全用例设计、安全测试执行等角色;监控团队则更多对服务器日志、蜜罐日志、服务器状况进行监控。当然,小型团队中一人可兼任多职位。

    2. 如何做好日常安全工作和工具
    安全可能跟其他测试不是特别一样,用我常说的就是“要知其然,还要知其所以然”,大部分开发人员可能并不了解一些安全漏洞,所以很多时候你提出的问题开发团队无法给出很好的回复。这时候可能需要我们去“教”开发人员写代码。一个好的安全人员需要了解原理、熟悉测试手段、熟悉防范措施,然后按照合理的安全测试流程去工作。具体的流程可以参考我写的这篇文章http://www.besttest.cn/的自学手册中“安全测试自学路线”。
    至于工具,手工测试我比较推荐burpsuite,辅助一些专用软件 sqlmap,csrftester等

    3. 需要关注的测试点
    在最早的安全测试中,对于一个网站,最重要的安全点应该是登录模块和支付模块的安全性。举个例子,登录模块可能包含的安全漏洞点很多:权限验证缺陷、登录机制缺陷、多阶段登录漏洞、sql注入、xss漏洞、绕过前端、会话管理机制漏洞等等,这在我之前一个公开课的视频中有所讲解,暂且把它放在这儿吧,大家有兴趣可以看下:http://v.youku.com/v_show/id_XNjQ5NTg2MzU2.html

    4. 比较常见的漏洞
    1. $username=$_POST['username'];
    2.         $userpass=$_POST['userpass'];
    3.         $sql="select * from user where username='$username' and userpass='$userpass'";
    4.     $query=mysql_query($sql);
    5.     $arr=mysql_fetch_array($query);
    复制代码
    这是一个简单的sql注入代码,大家很容易就可以看出问题的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    27#
    发表于 2014-1-6 16:33:34 | 只看该作者
    回复 8# 如小果


    Web安全测试主要是针对网站分析所制定的安全策略进行安全监测,包含的可能是多方面的,例如:绕过客户端、验证机制、会话管理、sql注入、XSS、CSRF,甚至包括社会工程学等等。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    28#
    发表于 2014-1-6 16:36:09 | 只看该作者
    回复 7# 黑羽祭


    额,不知道是不是给这个问题回复的有点长,提示要审核~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 09:19
  • 签到天数: 933 天

    连续签到: 5 天

    [LV.10]测试总司令

    29#
     楼主| 发表于 2014-1-6 16:40:53 | 只看该作者
    回复  黑羽祭


    额,不知道是不是给这个问题回复的有点长,提示要审核~
    jacksonren1987 发表于 2014-1-6 16:36



        审核有点慢了不好意思,里面有链接,很有可能进入审核~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    30#
    发表于 2014-1-6 16:44:21 | 只看该作者
    回复 10# li_feibo


    你好,1,2 我们都拿到一起说,跨站脚本,xss,甚至说包括csrf都属于跨站漏洞,我们想要分析我们的网站是否包含这些漏洞首先要了解其原理。XSS是怎么产生的?什么是反射型xss,什么是存储型xss,什么是基于dom的xss;在了解原理的基础上我们去学习如何进行测试?基本的测试手段,更详细的定位方式,包括针对不同类型xss漏洞所做的不同策略;最后就是如何防范。
    其实推而广之,对所有类型的漏洞都是一样的。
    3. appscan,webinspect这两种工具的使用,其实我个人是并不推荐的,一来自动化审计所出现的bug漏报错报比较严重,二来过于依赖自动审计工具,对于其提出的问题,你没有原理的了解就没办法知道问题产生的原因;三来开发人员有时需要你去指导他们修复一些安全问题,使用自动审计工具你也没办法去了解防范手段等;四就是对于测试人员而言,自动审计对于自己的提高也是毫无裨益的
    4. 这个可以参考26楼我的回复哈~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    31#
    发表于 2014-1-6 16:47:21 | 只看该作者
    回复 11# panaifengenen


    大概的内容其实就是我在27楼的回复,具体如何去进行安全测试,可能说起来就比较复杂,也不是一时一刻能说清的,大致来说流程就是 解析分析web应用--确定安全策略--根据安全测试进行测试(验证机制、会话管理、xss、sql注入等等)--总结分析
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32#
    发表于 2014-1-6 17:19:52 | 只看该作者
    请问下对于一个未踏入安全测试的测试员,如何去逐步学习安全测试呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    33#
    发表于 2014-1-7 08:25:03 | 只看该作者
    回复 12# piaolingxue423


    谈安全测试架构,首先我们需要对测试架构这个概念有一个了解。这里的架构不仅仅指一个自动化或者半自动化测试框架,而包含了更多问题。在软件测试活动中,一个测试架构师要解决什么问题?
    例如:如何更好的指导开发工程师写出更高效的代码?如何用更快捷高效的办法来设计测试用例?如何提高测试覆盖率?如何完成复杂系统的非功能性(性能、安全性、兼容性、可靠性等)?能否对测试技术的发展趋势做出正确判断?等等一系列问题

    测试架构就是为解决上述问题而产生的,安全测试架构也是如此。大体上看可以分为软件系统技术架构和软件测试框架两部分。第一部分也就是包括需要对安全测试点进行合理的划分、归类,建立用例模型,设计合理的测试结构;从测试工作角度说,需要建立合适的测试管理系统;从技术发展趋势上说,就包括研发新的测试方法,并借助测试工具来实现。

    至于说软件测试架构这一部分,其实也就是集成测试环境、测试脚本分层处理等,从安全测试角度来看,更多的是如何将安全测试套件与部分半自动化工具集成起来。这里我推荐的是以Burpsuite为核心,以sqlmap等半自动化开源测试工具的模式。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    34#
    发表于 2014-1-7 08:31:00 | 只看该作者
    回复 13# 木头人6229


    手工测试,如果是刚开始进行安全测试尝试,我建议将重点放在登录验证模块和支付模块上,因为这部分安全级别相对较高;
    自动化测试:不知道你是不是在指自动化审计,我个人还是不推荐初学者进行自动化审计,因为如前所说,既不能保证测试质量,又无法让你去指导开发者修改安全问题,更对测试人员自身提高没有什么益处。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    35#
    发表于 2014-1-7 08:37:48 | 只看该作者
    回复 14# 邱建忠


    首先和上边一样,对于完全没有经验的安全初学者来说,对自动化审计工具所提出的bug无法进行更好的分类和筛选,因为自动化审计工具的错报与漏报非常频繁,同时自动化审计工具上提出的bug对于开发人员也不易于修改。具体可以参阅下我之前的回复。
    我个人更多的是以安全套件执行手工测试,兼以部分半自动化测试工具。具体的流程和大体思路可以参考我的这篇文章,相信会有所帮助:http://www.besttest.cn/article.php?id=168
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    36#
    发表于 2014-1-7 08:47:14 | 只看该作者
    回复 15# cvim00


    web安全测试基本是需要依据自身制定的安全策略来进行测试执行。常见的需要注意的漏洞包括绕过漏洞啊,XSS,验证机制,会话管理,sql注入等等。具体的可以参考http://www.besttest.cn/article.php?id=168 里边提到的,这是我写的一个安全测试自学路线,希望能对大伙有所帮助。
    如果是内网网站,我建议把更多精力放在服务器和网络安全上,而非web安全。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    37#
    发表于 2014-1-7 08:48:47 | 只看该作者
    回复 16# xuquan


    BS和CS架构其实在测试过程中思路并无不同,大致来说流程就是 解析分析web应用--确定安全策略--根据安全测试进行测试(验证机制、会话管理、xss、sql注入等等)--总结分析。可能更核心的部分是解析分析和确定策略。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    38#
    发表于 2014-1-7 09:09:04 | 只看该作者
    回复 17# lacylee200


    安全测试相对于其他测试可能需要掌握更全面的基础知识和一定的代码能力。入手我建议从漏洞原理开始学习,会让你对安全测试有更深入简单的了解。具体自学的路线可以参考下边这篇文章我的总结:http://www.besttest.cn/article.php?id=168
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    39#
    发表于 2014-1-7 09:11:40 | 只看该作者
    回复 19# 城邦


    自动化审计节省时间,可以产生大量问题去验证筛选;缺点是漏报误报比较多,没有针对性。
    手工测试浪费时间,且需要比较好的基础能力;但是同样,不容易误报,且可以根据不同模块执行不同的安全策略,有针对性;
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    40#
    发表于 2014-1-7 09:17:41 | 只看该作者
    回复 20# fangyiye


    除了自动化扫描,我更推荐手工测试,包括最新的模糊测试技术都是很好的安全测试手段。具体安全测试考虑方面,可以参考我之前的回复和回复中提到的安全测试自学路线吧,详细的可能会说来话长喽O(∩_∩)O
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-20 03:06 , Processed in 0.080492 second(s), 20 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表