appscan扫出来的漏洞,你要去人工确认是否是真的存在或是重不重要。。。多跟开发沟通吧。。appscan工具能扫出很多问题,但是不一定都是真正需要修改优化的,
你要自己分析看下。。。appscan扫出来最常见的就是Cross-site scritping跟sql  Injection了。。
另外,业务安全也很重要,楼主可以多关注。

我用过一段时间的appscan,但是主要是对web service进行测试,让它自己跑,可能会出现部分安全警告,这些是肯定需要提交报告的,然后在弹出的报告里面会有一些针对性网页提出建议,自己根据公司需要去提取,
其他的就没了,,

1.关注应用本身的安全,比如SQL注入、XSS、CSRF、上传webshell等,这些是可以用漏扫工具扫出来的,建议用最新的版本,多用几个工具对比下结果,Appscan,Awvs,netsparker,以便分析是否存在误报与漏报,
结果出来了后,要手动结合工具验证是否存在以及漏洞能造成什么后果,提交给开发,最后附上修改建议和方案,因为开发很多事不懂的。
2.关注框架、组件等安全,这个要实时关注安全动态,比如struts2、spring等框架 ,iis  nignx ,第三方引用等,了解所测是系统用了哪些框架  应用服务器  第三方引用 如果出问题  立刻自检

3.业务安全  包括越权  低价购买商品  修改任意用户密码  撞库  恶意注册刷单  弱口令等

1.        不登录系统,直接输入登录后的页面的URL是否可以访问;
2.        不登录系统,直接输入下载文件的URL是否可以下载文件;
如输入:http://url/download?name=file是否可以下载文件file
3.        退出登录后,后退按钮能否访问之前的页面;
4.        ID/密码验证方式中能否使用简单密码;
如密码标准为6位以上,字母和数字的组合,不包含ID,连接的字母或数字不能超过n位
5.        ID/密码验证方式中,同一个帐号在不同的机器上不同时登录
6.        ID/密码验证方式中,连续数次输入错误密码后该帐户是否被锁定
7.        重要信息(如密码,身份证,信用卡号等)在输入或者查询时是否明文显示;
在浏览器地址栏中输入命令javascript:alert(doucument.cookie)时是否有重要信息;
在html源码中能否看到重要信息;
8.        手动更改URL中的参数值能否访问没有权限访问的页面。
如普通用户对应的URL中的参数为l=e,高级用户对应的URL中的参数为l=s,以普通用户的身份登录系统后将URL中的参数e改为s来访问没有权限访问的页面
9.        URL里不可修改的参数是否可以被修改;
10.        上传与服务器端语言(jsp,asp,php)一样扩展名的文件或exe等可执行文件后,确认在服务器端是否可直接运行
11.        注册用户时是否可以以‘--’or1=1—等做为用户名
12.        传送给服务器的参数(如查询关键字,URL中的参数等)中包含特殊字符(‘.’and1=1--.‘and1=0--.’.‘or 1=0--)时是否可以正常处理
13.        执行新增操作时,在所有的输入框中输入脚本标签(<script>alert(“”)</script>)后能否保存;
14.        新增或修改重要信息(密码,身份证号码,信用卡号等)时是否有自动完成功能
(在form标签中使用autocomplete=0来关闭自动完成功能)
15.        在URL中输入下面的地址是否可以下载
http://url/download.jsp?file=c:\windows\system32\drivers\etc\hosts,http://url/download.jsp?file=/etc/password
16.        是否对session的有效期进行处理
17.        错误信息中是否含有SQL语句,SQL错误信息以及web服务器的绝对路径的等

最近抽了2天时间研究了下appscan工具,针对登录这个简单的操作流程进行了下扫描。根据这2天对扫描结果的阅读和对安全性测试与业内人士的交流,下面总结了几点自己个人的想法(仅限于个人想法),呵呵!

1.appscan扫描出的问题
  1.跨站点脚本攻击(http://g2.mail.10086ts.cn/serviceapi/CommonRequest.ashx )
针对http://g2.mail.10086ts.cn/serviceapi/CommonRequest.ashx?sid=>"'><script>alert(1292)</script>&r=>"'><script>alert(1292)</script>&mobile=>"'><script>alert(1292)</script>&reqtype=>"'><script>alert(1292)</script>
进行改动,可以直接跳转到指定的网站
http://g2.mail.10086ts.cn/serviceapi/CommonRequest.ashx?sid=>"'><script>alert(1292)</script>&r=>"'><script>alert(1292)</script>&mobile=>"'><script>alert(1292)</script>&reqtype=>"'><script>window.location="http://www.baidu.com";</script>

2.检测到敏感文件和隐藏目录
  例如:http://g2.mail.10086ts.cn/addr/apiserver/
  这样的目录很多,修改的建议是:将 Web 服务器配置成拒绝列出目录

3.web应用程序源代码泄露
  扫描出部分js文件中含有程序源代码,例如;CookieUtils.js

4.SQL 盲注
  登录时,能扫描出用户的用户名和密码!但我查看了例如QQ,网易的邮箱登录后,利用抓包工具都能抓出“密码”出来!

2.APPSCAN使用问题
1.解决的问题
先前在web中,登录邮箱不能扫描到具体的模块,提示不在会话环境中。可以通过加域然后进行手动搜索来解决。例如在域中加入:g0.mail.10086ts.cn.
wap可以用开发提供的链接地址,然后手动搜索来扫描具体模块的URL

2.未解决的问题
扫描中,自动提示和推荐的记录两种扫描方式依然会报不在会话环境中。

3.困难
网上相关的appscan资料太少。做相关工作的人也不多。遇到问题没人咨询,感觉闭门造车。

3.  对安全性测试的认识:
1.安全性测试,其实应该在开发编程中就进行投入。例如在咱公司项目里程碑的基础上,加入安全性验证这环!做安全性,应该开发先具备安全编程的知识

2.appscan不足点:在开发编码完成后,才进行验证。已经错过了最佳修正时期

3.经过这次对appscan和安全性的研究,发现安全性测试是一个学习成本很高的东东!消耗时间相当长。首先你需要对编程知识有一定的了解,各门语言!然后对常规
漏洞攻击方式和攻击工具都具备一定的执行能力,例如:sql注入.跨站,XSS攻击。最主要的是对公司的代码有一定深度的了解,不然和开发交流的时候,不能使其信服。(不说比开发了解,但不能比开发差)。如果单只是用扫描工具进行扫描,自动生成报告,丢给开发,觉得安全性工作效果不大。

4.扫描工具结果的理解!针对扫描出来的漏洞,单作为测试人员理解比较困难,需要经验的积累和知识的补给!appcan工具只是提供了一个安全改进的参考,重点还在于漏洞的修复

4.工作的改进
1.先前一直在做appscan的工具研究,忽视了安全性测试基础知识的巩固。
2.对公司各个模块的流程和代码,需要增强了解!不然对扫描结果的分析,仅停在表面程度上。
3.希望公司能提供一定的学习平台,一个人的学习毕竟局限性!效果太不明显。

ps:谁对安全性测试比较了解,请和我联系,想学习这块!

0x00 简介
  本文主要介绍APP漏洞挖掘中逻辑漏洞,包括任意用户密码重置,支付漏洞,任意用户未授权登录。
  0x01 任意用户密码重置正文
  首先,我们来看看任意用户密码重置。  
  方法一:密码找回的凭证太弱,为4位或6位纯数字,并且时效过长,导致可爆破从而重置用户密码。
  这里我们来看一个实例,目前厂商已经修复。
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D80.tmp.jpg
  验证码为4位纯数字,我们使用burpsuite爆破。
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D81.tmp.jpg
  可以看到成功爆破出了。4位数字0~9有9999种可能,我们线程设置10,五分钟之内就可以爆破出凭证。
  方法二:验证码传输在数据包中。
  这里共有两种可能,一种在返回包,一种在获取验证码的数据包中。我们来看两个实例。
  第一个:验证码在返回包中
  在输入好手机号点击下一步时,我们抓包,截取返回包。
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D82.tmp.jpg
file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D92.tmp.jpg
file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D93.tmp.jpg
  第二个:验证码在获取验证码的数据包中
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D94.tmp.jpg
  Checkcode后面的六位数字就为验证码了,这种情况我只见过一次。
  方法三:输入好凭证后,重置密码时替换手机号。
  看个实例:
  这款APP重置密码分为两步,第一步是输入手机号获取验证码并填入,正确后即跳转到下一步,然后就是输入新密码。我们在输入新密码后抓包,替换手机号放包即可重置。
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D95.tmp.jpg
  方法四:修改返回包内容,把错误的改为正确的。
  具体来看一个实例:
  我在输入好手机号获取验证码后,随便输入一个数字。然后抓包
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D96.tmp.jpg
  截取返回包 修改1为0
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1D97.tmp.jpg
  方法五:获取验证码时手机号为明文,修改为自己的从而达到欺骗验证。
  这种方法由于我在挖掘APP漏洞中暂时没有遇到,所以无法找到APP实例,但是有一个WEB实例,这里也贴上来,思路方法都是一样的。WEB实例作者:离心
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1DA8.tmp.jpg
  改为自己的,即可收到验证码。
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1DA9.tmp.png
  0x02 支付漏洞正文
  方法一:修改金额
  还是来看一个实例,确认支付时候抓包,截取返回包。
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1DAA.tmp.jpg
  file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1DBA.tmp.jpg
  嘿嘿,放包即可成功一毛钱买飞机杯^_^
  方法二:修改金额为负数。
  此方法我目前没有遇到过,所以不配实例,操作起来也是一样的。
  0x03 任意用户未授权登录
  方法一:登录时抓包,修改uid
    file:///C:\Users\tongll\AppData\Local\Temp\ksohtml\wps1DBB.tmp.jpg
  0x04 总结
  以上漏洞修复方法:找回密码凭证够复杂并且不可猜测,同时注意以上逻辑问题,不可存在越权,或者重要的凭证在不该出现的地方出现。

了解更多测试知识访问如下链接:

https://edu.csdn.net/course/detail/22948

https://edu.csdn.net/lecturer/3215

https://edu.csdn.net/course/detail/30898

https://edu.csdn.net/course/detail/25768

怎么做软件安全性测试相关推荐

  1. 软件安全性测试有那些

    软件安全性是一个广泛而复杂的主题,每一个新的软件总可能有完全不符合所有已知模式的新型安全性缺陷出现.要避免因安全性缺陷问题受各种可能类型的攻击是不切实际的.在软件安全测试时,运用一组好的原则来避免不安 ...

  2. 什么是软件安全性测试?

    一.什么是软件安全性测试 (1)什么是软件安全 软件安全属于软件领域里一个重要的子领域.在以前的单机时代,安全问题主要是操作系统容易感染病毒,单机应用程序软件安全问题并不突出.但是自从互联网普及后,软 ...

  3. 如何用Jmeter做压力测试

    Jmeter是一个性能测试工具,同loadrunner类似,他功能较多,我们常用的功能是用jmeter模拟多浏览器对网站做压力测试. 我们一般的网站,在进入业务功能前先需登录,然后才能访问业务功能.下 ...

  4. 性能测试入门(六)windows及Linux下做压力测试的注册表设置

    windows及Linux下做压力测试的注册表设置 from: http://www.cnblogs.com/tianzhiliang/articles/2400176.html TcpTimedWa ...

  5. android驱动测试,Android: 通过 cucumber 驱动 monkey 做稳定性测试

    主要内容 稳定性测试是什么 Monkey 介绍 自动化 Monkey 稳定性测试是什么 通过随机点击屏幕一段时间,看看 app 会不会奔溃,能不能维持正常运行. Monkey 介绍 Monkey 是一 ...

  6. mysql不能做端点测试吗_端点测试的分步介绍

    mysql不能做端点测试吗 I've been playing around with testing lately. One thing I tried to do was to test the ...

  7. Linux学习13-CentOS安装ab做压力测试

    前言 网站性能压力测试是服务器网站性能调优过程中必不可缺少的一,测试环境准备好了后,如何对网站做压力测试? 压力测试的工具很多,如:ab.http_load.webbench.siege.jmeter ...

  8. 不会压测?没关系,手把手教你用jmeter做压力测试及结果分析

    1.准备 测试之前需要先准备相关的工具,JMeter是运行在jdk下的一款压测工具,所以,要运行JMeter首选要安装jdk并配置环境变量,具体请自行百度jdk环境变量安装: 2.JMeter 是什么 ...

  9. 初学SNMP,在spring boot 下使用snmp4j 做本地测试调通的记录

    一.SNMP概念学习参考这篇 Snmp学习总结(七)--SNMP4J介绍 - 孤傲苍狼 - 博客园 (cnblogs.com) 二.SNMP协议深入学习(不想了解的可跳过)  聊聊SNMP协议 - C ...

最新文章

  1. 你也许不知道的Vuejs - 使用ES6快乐的玩耍
  2. 【NLP】经典分类模型朴素贝叶斯解读
  3. lr java脚本_【上海校区】 LR Java脚本编写方法
  4. 办公自动化-演练-从A表中提取数据整合到B表中-0223
  5. 大数据预测实战-随机森林预测实战(四)-模型调参
  6. springBoot事物
  7. 5.企业应用架构模式 --- 并发
  8. 如何用maven创建java项目_Maven创建Java项目
  9. oracle最小值寒素,新人教版备考2020年浙江中考语文复习专题:基础知识与古诗文专项特训(五十六)D卷...
  10. Marvell同意向卡耐基梅隆支付7.5亿美元了结专利诉讼
  11. aardio部署_用aardio给python写个图形界面
  12. 比特彗星一直显示连接服务器,BitComet常见问题
  13. SetWinEventHook 事件钩子
  14. 浅谈马氏距离【Mahalonobis Distance】
  15. java计算机毕业设计家庭园艺服务平台源码+数据库+lw文档+系统
  16. MySQL教程二 基础查询与排序
  17. 《亿人帮》与《新米公益》竞品分析报告(简要版)
  18. 奇梦达产能削减四分之三
  19. 像素、灰度、RGB、分辨率
  20. 【英语四六级-必背单词】​​​​​​​高中英语单词(A - 2) MP3试听与下载

热门文章

  1. html跳动爱心代码,html+css实现跳动爱心❥(^_-)-Go语言中文社区
  2. 远程显示协议 2021-01-04
  3. 什么是离线迁移(闪电立方)
  4. Java基础学习总结(69)——匿名内部类与Lambda表达式
  5. android uboot获取mac地址,uboot生成随机的MAC地址
  6. 工欲善其事,必先利其器之sublime
  7. 了解JQuery TextArea的取值与赋值问题
  8. 帮助你在移动设备上生成倾斜控制(重力控制)的旋转效果jQuery插件 - lenticular.js...
  9. java深入学习2多线程(面试必备)
  10. Spring boot 连接 sqlserver