lsekfe 发表于 2018-8-1 14:18:08

【你来问我来答第94期】:如何做web安全测试!(活动结束)


论坛ID:冷逸      现任职位:渗透测试讲师工作经验:三年线上培训经验、曾经为中国联通广东省某分公司、中国移动某分公司等进行过线下网络攻防培训,专注web安全培训。讲师语录:安全测试在软件测试里面是一个很特别的科目(“工种”),很多人都觉得这个科目应该全权交给神秘的安全测试人员来管。这一个观念导致很多测试人员徘徊在安全测试的门口却迟迟不进去。一个专业的安全测试专家在某种程度上来说是一个全栈工程师。想要在安全测试上一夜成才很难。那么作为一个安全测试人员,我们工作中常遇到的那些问题,又该如何解决呢?资深web安全讲师冷逸为您在线解疑。讲师作品:安全测试漏洞实战精华课 点击阅读>>>http://bbs.51testing.com/data/attachment/forum/month_1112/11120109519a27fc08591f92eb.gif
各位会员可以在08月10日前以回帖的方式向客座专家提问。
(请大家围绕本期客座专家的擅长领域进行提问、探讨)
客座专家将在08月11日—08月31日为大家集中解答。
机会难得,欢迎大家踊跃提问!

冷逸 发表于 2018-8-3 11:05:12

libingyu135 发表于 2018-8-3 08:55
我们目前做安全测试更多的是依赖于各种安全测试工具,去扫描,结果没有漏洞就基本认为安全通过
再稍微进阶 ...

首先,很高兴回答您的问题!
对于您所提出的工具,我个人是不怎么推荐的,当然我不清楚你们使用的是awvs、appscan、nessus这种的工具,还是说自己公司自己开发的,或者是绿盟那种大型厂商的硬件扫描器,但是仅以工具为例,无论是误报还是其他方面都是比不上人工的,可以采用工具与人工结合的方式进行测试,但是一些比较敏感的漏洞,比如越权、二阶注入、逻辑漏洞等等还是需要自己手工测试。

web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。

1.从系统架构来看的话,web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是app端是不能够保证完全一致的,除非用户更新客户端。如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。

2.性能方面,web页面可能只会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory这些了。

3.兼容方面,web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容,不过一般还是以浏览器的为主。而浏览器的兼容则是一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox)。app的测试则必须依赖phone或者是pad,不仅要看分辨率,屏幕尺寸,还要看设备系统。系统总的来说也就分为Android和iOS,不过国内的Android的定制系统太多,也是比较容易出现问题的。

4.相比较web测试,app更是多了一些专项测试:

  一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等。

  而弱网测试是app测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。这些在前面的弱网测试那篇已经讲过,这里不再讲了。

安装、卸载、更新:

  web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除app相关的文件等等。

界面操作:

  现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。

qiguojie 发表于 2018-8-1 15:00:58

关注。。。希望可以有更多相关讨论出现。。

lsekfe 发表于 2018-8-1 16:26:32

qiguojie 发表于 2018-8-1 15:00
关注。。。希望可以有更多相关讨论出现。。

老齐可以先来说个热点,让专家来一起参与下!

xuquan 发表于 2018-8-1 18:22:18

冒个泡,支持 。

关注ing

libingyu135 发表于 2018-8-3 08:55:23

我们目前做安全测试更多的是依赖于各种安全测试工具,去扫描,结果没有漏洞就基本认为安全通过
再稍微进阶一点,就是抓个包,看看响应,请求是否为post?密码是否加密了?手机号码是否是暗文?验证码是否限制发送频次?再根据业务流程进行参数篡改。。。好像安全测试也算基本完成了
那么,在概念里安全测试是非常难得,比较关注协议网络,但是实际工作里做的却相对简单,我们还应该从哪些方面来考虑?是否不应该完全依赖工具?
另外想问下 web端的安全和移动端的安全有哪些区别?

maolang 发表于 2018-8-6 10:39:42

安全在华为项目时,都是扫描工具扫描,扫描完了没问题;然后接口加些安全认证,SQL注入写些用例,执行没问题就OK了。这样测感觉很不靠谱,怎样才是真正的安全测试,安全测试有哪些考虑的范围?

zhuyuehong00 发表于 2018-8-6 15:25:14

关注

l821523193 发表于 2018-8-6 15:56:26

现在在一个金融大数据公司,公司有些业务涉及到数据被别的公司扒像这样的安全测试一般要注意哪些,还有一些权限场景的安全测试,如付费用户可以浏览的页面如何绕过这个权限进行浏览

libingyu135 发表于 2018-8-6 16:32:25

maolang 发表于 2018-8-6 10:39
安全在华为项目时,都是扫描工具扫描,扫描完了没问题;然后接口加些安全认证,SQL注入写些用例,执行没问 ...

对对对。。我也在华为项目,所以感受颇深

libingyu135 发表于 2018-8-6 16:32:33

maolang 发表于 2018-8-6 10:39
安全在华为项目时,都是扫描工具扫描,扫描完了没问题;然后接口加些安全认证,SQL注入写些用例,执行没问 ...

对对对。。我也在华为项目,所以感受颇深

libingyu135 发表于 2018-8-6 16:41:02

冷逸 发表于 2018-8-3 11:05
首先,很高兴回答您的问题!
对于您所提出的工具,我个人是不怎么推荐的,当然我不清楚你们使用的是awvs ...

非常感谢您的回复,目前正在接触移动端这块,异常场景的提示给了我很大的启发。
而且接触移动端后,也发现移动端的测试比web要关注的更多,复杂更多。
安全测试目前公司都是用的自己的扫描工具,或者漏洞库,Drozer框架之类的,感觉很不完善。您所说的越权、二阶注入、逻辑漏洞;二阶注入和sql注入有什么不同?
另外在协议这块,应该需要考虑什么安全点呢?

冷逸 发表于 2018-8-6 18:08:22

maolang 发表于 2018-8-6 10:39
安全在华为项目时,都是扫描工具扫描,扫描完了没问题;然后接口加些安全认证,SQL注入写些用例,执行没问 ...

首先,很荣幸回答您所提出的问题,对于您所提出的什么是真正的安全测试,百度上有比较好的定义,我就不照搬照抄了,不过值得一提的是,客户想要看到的是你的测试报告,而不是说测试完之后直接说这个项目是安全的,其中深意,不可言传!对于范围,看行业,不同的行业有不同的着重测试点,这里就不一概而论了。

冷逸 发表于 2018-8-6 18:10:07

l821523193 发表于 2018-8-6 15:56
现在在一个金融大数据公司,公司有些业务涉及到数据被别的公司扒像这样的安全测试一般要注意哪些,还有一些 ...

如果涉及到被爬取,最好是增加反爬机制,实现方法很多,去找开发,绕过付费去查看,这个实现方式有很多,但也得看这个目标具体适用于哪一种类型

冷逸 发表于 2018-8-6 18:21:00

libingyu135 发表于 2018-8-6 16:41
非常感谢您的回复,目前正在接触移动端这块,异常场景的提示给了我很大的启发。
而且接触移动端后,也发 ...

0x01:一阶SQL注入:

      1;一阶SQL注入发生在一个HTTP请求和响应中,对系统的攻击是立即执行的;

      2;攻击者在http请求中提交非法输入;

      3;应用程序处理非法输入,使用非法输入构造SQL语句;

      4;在攻击过程中向攻击者返回结果。

  0x02:二阶SQL注入:

      1;攻击者在http请求中提交恶意输入;

      2;恶意输入保存在数据库中;

      3;攻击者提交第二次http请求;

      4;为处理第二次http请求,程序在检索存储在数据库中的恶意输入,构造SQL语句;

      5;如果攻击成功,在第二次请求响应中返回结果。

Drozer这个框架我之前用过,不做太多评价,毕竟我做测试一般手工,或者审计代码(Allowbackup漏洞、WebView漏洞等),而协议方面注意是不是http明文密码传输之类的,当然还有很多。。一时间说不上来

huangyan1988 发表于 2018-8-7 08:12:24

菜鸟一枚,会持续关注

libingyu135 发表于 2018-8-7 14:14:32

冷逸 发表于 2018-8-6 18:21
0x01:一阶SQL注入:

      1;一阶SQL注入发生在一个HTTP请求和响应中,对系统的攻击是立即执 ...

一般手工做要做什么呢?如何进行呢
抓包修改参数 ,模拟攻击这也算手工吧?

f盘装满基情 发表于 2018-8-8 10:57:55

关注一下,现在我们这边做安全测试无非就是用各种工具扫描一下,就很简单并没有特别深入的了解,想问一下,正经的做安全测试的公司都要关注那些方面呢

冷逸 发表于 2018-8-9 12:39:05

libingyu135 发表于 2018-8-7 14:14
一般手工做要做什么呢?如何进行呢
抓包修改参数 ,模拟攻击这也算手工吧?

首先,推荐你个网站http://mi.talkingdata.com/terminals.html,作用不多说,做测试的都明白,其实手工的话,列几个方面,具体实行看个人

测试App能否及时显示和同步数据
测试App能否响应不同的设备用户界面
测试App的手势操作
App的多任务和意外情况处理
.......

当然还有很多,就先说这些

冷逸 发表于 2018-8-9 12:39:02

libingyu135 发表于 2018-8-7 14:14
一般手工做要做什么呢?如何进行呢
抓包修改参数 ,模拟攻击这也算手工吧?

首先,推荐你个网站http://mi.talkingdata.com/terminals.html,作用不多说,做测试的都明白,其实手工的话,列几个方面,具体实行看个人

测试App能否及时显示和同步数据
测试App能否响应不同的设备用户界面
测试App的手势操作
App的多任务和意外情况处理
.......

当然还有很多,就先说这些
页: [1] 2
查看完整版本: 【你来问我来答第94期】:如何做web安全测试!(活动结束)