损坏的访问控制:访问控制强制执行策略,使用户不能在其预期权限之外采取行动。故障通常会导致未经授权的信息泄露、修改或破坏所有数据或执行超出用户限制的业务功能。
用表现在网站上的效果区分,可以分为以下几种漏洞类型:越权,未授权访问,跨站请求伪造,敏感信息泄露,xss。
1.未授权访问
产生的原理:
在攻击者没有获取到登录权限或未授权的情况下,不需要输入密码,即可通过输入网站控制台主页面地址或者不允许查看的连接便可进行访问,同时进行操作。
怎么发掘?
通过抓包工具(burpsuite、fiddler等),将抓取到的功能链接,在其他浏览器进行打开。
2.越权
水平越权产生的原因:由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而导致的越权数据访问漏洞。
垂直越权产生的原因:基于URL访问控制设计缺陷引起的漏洞,又叫权限提升攻击。
怎么发掘?
对于水平越权,创建两个账户,记录对应的标识信息,敏感信息,然后进行试验。
对于垂直越权,抓取高权限用户的功能数据包,再登录低权限的用户改包发包。
在实战中,可能要通过对数据包内容进行猜解,从而实现提权。
3.跨站请求伪造
产生的原因:没有对隐藏关键参数和做隐式身份验证,服务器端没有对用户的身份进行多次校验。客户端没有做token、没验证HTTP请求的Rederer,没验证XMLHttpRequests里的自定义header。
token是什么?
token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个token便将此token返回给客户端,以后客户端只需带上这个tiken前来请求数据即可,无需再次带上用户名和密码。
Referer是干什么的?
Rederer是HTTP请求Header的一部分,但浏览器向Web服务器发送请求的时候,请求头信息一般需要包含Referer。该Referer会告诉服务器我是从哪个页面链接过来的,服务器基于此可以获得一些信息用于处理。
怎么发掘?
观察url上的参数;请求包里的Referer头是不是有限制。
XSS
产生的原因:没有对用户输入的内容进行严格的过滤。
怎么发掘?
在URL,输入框,表单做script语句输入。
敏感信息泄露
产生的原因:由于管理员或技术人员等各种疏忽,没有保护用户的敏感数据,导致泄露了用户的个人信息,攻击这可以通过窃取或修改来实施电信诈骗,身份盗窃等犯罪行为。
怎么发掘?
在一些官方发布的文件里, 可能会因为安全意识不强等问题,出现了人的身份证信息,手机号,银行卡号等……