今天由SINE安全的于工给大家讲一下这个网站越权漏洞积极防范,那么越权漏洞是web系统中的一种常见安全漏洞,它是非常好理解的,也就是越权就是超越了权限,也就是攻击者他能够执行本身他没有权限去执行的一些操作。那么这些操作有可能是他跟他同级的用户,也就是大家同为用户,但是我却能去修改其他用户的这样一些资料,或者是查看其他用户的一些订单,还有就是比你高级的用户,比如说你可以去执行管理员的操作,这也是属于一种越权。
那今天我们就来探讨一下这个越权漏洞。那么首先是这个未授权访问,这个未授权访问也就是说没有授权,本来我不应该允许你访问我这些页面,但是却没有做好相应的防范,导致这些页面被访问到了,那这些有可能是什么,有可能是这样一些我们说服务也好,说数据库也好这样一些东西,那比如说是那个 Redis数据库,它就是一个我们的这个 key value数据库比如说像jboss的话,它就是一个这个我们的中间件,那这些的话他们是属于这些东西的,这些登录页面没有做好这样相应的访访问权限的处理,导致我可以无账号无密码的去访问一些东西。
比如说像这个redis client这里的话是一个客户端,我本来没有输入密码,但是我却能成功的去登录它,这就属于这个未授权访问,也就是说一些管理员页面,包括像下面这个大家可能看得更加直观一些的话,它是一个这样一个页面,它的未授权访问,也就是我点击这个页面,它没有让我输入任何的账号密码,包括像这里没有输入任何的凭证,他就直接让我进去了。
我还能执行他这个提供给我的一些接口去执行命令也好,这就是属于未授权访问。那可能涉及到这个 web上面,大家可能更加熟悉一些,比如说你们去登录自己的网站后台的时候,有的时候有一些后台他自认为比较隐蔽,但是他没想到被别人找到,被别人找到之后,他又没有去做这个用户设置,甚至别人不需要输入任何的账号密码,直接就进入后台了。
还有就是我们的web端,一些敏感接口的未授权访问,刚刚我说的这个管理后台我也把它归为上面一类,到这里的话,敏感接口的未授权访问,一般来说都是一些程序员觉得不会被用户发现了接口,那比较常见的这个思路有什么,比如说那我们有时候打开一些空白页面,比如说举个例子,123.PHP我还是改成叉叉,这样子这样子的话这个页面打开之后没有任何的东西,但是我作为恶意用户我通过去遍历你的参数,比如说这个页面实际上是需要你去提供一个参数的,而这个参数名它没有任何的提示,没有告诉你,但是我通过便利我发现它竟然有个优质ID参数,然后我不输入不同的这个 uid值,就可以看到不同的用户信息,那这个的话就属于一个敏感接口,没有访问授权导致敏感信息泄露,既然你这个接口是要去和用户信息去进行交互的,那你这里肯定是要设置一个验证也好,或者你干脆就不要把,它暴露在公网上面,那这里如果你没有做好的话,那就属于一个未授权访问导致信息泄露的问题,这就是一个活生生的案例。