垂直权限漏洞是指Web应用没有做权限控制,或者仅仅在菜单上做了权限控制,导致恶意用户只要是猜到了其他页面的URL,就可以访问或控制其他角色拥有的数据或者页面,达到权限提升的目的。业务测试的过程中,要设计此场景的安全测试用例,并切实落地执行:用户A登录后,打开浏览器NetWork,查看所有XHR网络请求。用户B登录后,A的请求,进行次重复操作,若是可以正当操作,则表示接口存在了越权问题。CR过程,要针对有update、delete、add的接口做着重观察。水平权限漏洞指的是Web应用程序接收到用户请求时,没有判断数据的所属人,或者是在判断数据所属人时是从用户提交的参数中获取的userid,导致攻击者可以自行修改userid修改不属于自己的数据。例如,UserA和UserB的权限是相同的,但A可以看B的数据,就是发生了水平越权的问题。比较容易发生水平越权的地方,除了身份(会话ID)标识外,站点还用其它信息(例如手机号、员工编码、工号或者是使用Hash算法生成的)用来标识用户或用户信息。例如,getAccount.do?accId=12345 ,此类的接口就是高危的接口。通常的情况下,我们可以用两个测试账号来访问同一个Url,看能否能返回相同的数据,如果能够互通的话,则说明后端接口即是对当前用户做数据隔离,存在了水平权限问题。系统功能测试的过程中,设计两个测试账号,可以同时登陆两个测试账号,对比同一个页面的数据是否存在了交叉。CR过程中,注意针对查询接口看是全都加上了用户属性作为数据隔离条件。漏洞原理:用户输入被当做成/拼接成服务器命令,交给生产网服务器代为执行,从而导致了用户可以对服务器执行任意的命令,甚至是置入木马,反连,提权等风险操作; 测试方法:STC安全扫描;针对所有需要执行命令的接口,输入”cat /etc/passwd”或”| cat /etc/passwd”或者是其他命令看是否会返回该命令的执行结果,只要有一个命令可以返回执行结果,则判定有效;漏洞原理:用户输入进来的代码被服务器直接执行,从而导致用户可以对服务器执行任意得命令,甚至置入木马,反连,提权等的风险操作; 测试方法:安全扫描;针对所有需要执行代码的接口,根据可以执行的代码不同构造服务器命令调用的代码进行测试,若是可以正常执行,则漏洞有效;漏洞原理:服务端代理用户对用户输入进来的URL无条件发起请求,并将response返回给用户。用户可以直接填写内网的任意IP以及端口,用来进行内网嗅探; 测试方法:用STC安全扫描在某测试服务器上搭建对应测试HTTP服务器;在相关业务接口中填写测试服务器地址后提交,查看测试HTTP服务器是否会有访问记录,如果有则说明有漏洞,反之则无;漏洞原理:用户上传XML文件后,服务器在进行解析的时候没有禁止实体解析,导致了schema中的URL被访问,造成类似SSRF的风险;测试方法:安全扫描:在某测试服务器上搭建对应测试的HTTP服务器;构造特定XML文件,其中某个schema URL为测试HTTP服务器地址;在XML上传接口上传该文件,若有看到测试服务器访问记录则有漏洞;Java业务建议使用集团扫描器进行扫描漏洞原理:从用户可控的位置(cookie,参数)中读取序列化字符串,在服务端进行反序列化代码执行操作,因为反序列化的内容可以写入任意代码,导致代码注入执行测试方法:安全扫描;构造可执行服务器命令的序列化字符串,填入对应参数/cookie中看是否可以执行成功;漏洞原理:用户输入的参数会直接拼接进入SQL语句中实现业务逻辑,若参数为精心构造的SQL语句,将会产生本意之外的SQL执行,比如拆解sql的root密码,进一步拖库测试方法:安全扫描;使用sqlmap进行sql注入扫描;漏洞原理:Jsonp跨域提供数据传输时,未对访问来源进行判断,导致可被未授权的他方读取接口中的敏感信息;测试方法:安全扫描;通过burpsuite抓包,若发现有用户个人标识/资源标识出现在参数或者cookie中时,尝试修改并重放请求,若返回正常则存在漏洞漏洞原理:业务进行跳转的URL的域名可以被用户任意修改(跳转目标url在某个参数/cookie中),从而跳转至伪造的钓鱼网站,引导用户在网站上进行敏感信息输入,从而测试方法:安全扫描;修改跳转目标URL参数,若能跳转则有漏洞;漏洞原理:用户输入的内容,不经过处理直接展示在web页面上,若用户输入的是可执行的js脚本将会被直接执行,则可能导致session_id被盗取,csrftoken被盗取,jsonp劫持refer防御失效,同域名下敏感信息页面被盗取等后果测试方法:安全扫描;在输入框输入”< >’ “ &”,当该输入框内容展示在页面上的时候,查看页面源码,若原样输入,则有漏洞,若被转义成”<,>”等html实体,则说明做了安全防护;漏洞原理:常规http接口的path,method, 参数等内容完全可以被拆解,有人会伪造某些高危操作接口(比如点赞,收藏,好评),将该接口伪装之后(比如生成短链接,二维码)发送给其他用户点击,此时等于在不知情情况下做了一些对自己有害的操作测试方法:安全扫描;使用burpsuite进行抓包,将参数中的token删除,或者设置为空,重放请求,若正常访问则说明有漏洞;漏洞原理:短信/电话号码,邮箱地址由用户填写,并且可以无频率次数的给其发送信息,打电话,用以进行骚扰用户;测试方法:安全扫描;使用burpsuite进行信息发送接口抓包,并利用repeater功能进行批量访问,如果每次都成功说明没有做防护;漏洞原理:登录口设计不当,风控策略缺失/不得当,可以进行用户名密码爆破测试方法:安全扫描;使用burpsuite,构造弱口令字典,使用repeater功能访问登录接口;原文来源于CSDN guothree2003|侵删每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看”
文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5OTY2NjUxMw==&mid=2247503232&idx=1&sn=b482f4a009efc7190e92e7fa7d8c4a61&chksm=c04d4abef73ac3a8b889a8f71ff4144458b8a3b86901805b54b88dd4dff7c4d0d3052660b22b#rd
如有侵权请联系:admin#unsafe.sh