一:漏洞名称:
未授权访问漏洞
描述:
未授权访问漏洞,是在攻击者没有获取到登录权限或未授权的情况下,或者不需要输入密码,即可通过直接输入网站控制台主页面地址,或者不允许查看的链接便可进行访问,同时进行操作。
检测条件:
- 已知Web网站具有登录页面。或者具有不允许访问的目录或功能。
- 不用登录,可通过链接直接访问用户页面功能。
检测方法:
- 通过对登录后的页面进行抓包,将抓取到的功能链接,在其他浏览器进行打开,
- 也可以通过web扫描工具进行扫描,爬虫得到相关地址链接,进行直接访问,如果未进行跳转到登录页面,则可判断为存在未授权访问漏洞。
漏洞修复:
常见的修复方法:在系统中,加入用户身份认证机制或者tonken验证,防止可被直接通过连接就可访问到用户的功能进行操作,简而言之,一定对系统重要功能点增加权限控制,对用户操作进行合法性验证,下列为针对常见的JSP语言编写的网站的安全修复方案:
- 采用JAVA过滤器技术,对/pages下所有URL进行登录状态检查,通过session.getAttribute()方法从session中获取登录成功时存入session中的身份标识,判断客户端传递过来的身份标识是否与session中保存的一致,不一致则跳转到登录页面。关键代码如下:
//从session里取的用户名信息 String username = (String) session.getAttribute("userID"); //getAttribute中变量根据实际变量传入。 //判断如果没有取到用户信息,就跳转到登陆页面 if ((username == null) || "".equals(username)) { //跳转到登陆页面 res.sendRedirect("http://" + req.getHeader("Host") +"/login_oa.jsp");} else { //已经登陆,继续此次请求 chain.doFilter(req, res); }}
2.进行权限判断,以下代码为过滤器程序,通过会话获取用户身份信息,进行权限判断等操作:
//在配置文件中设置过滤器 <filter> <filter-name>SessionFilter</filter-name> <filter-class>com.nsfocus.frame.filter.SessionFilter</filter-class> </filter> <filter-mapping> <filter-name>SessionFilter</filter-name> <url-pattern>/pages/*</url-pattern> </filter-mapping> <filter> ---------------------------------------------------------------------------------------------- //后台过滤程序 public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; HttpSession session = req.getSession(true); //从session里取的用户名信息 String username = (String) session.getAttribute("userID"); //getAttribute中变量根据实际变量传入。 //判断如果没有取到用户信息,就跳转到登陆页面 if ((username == null) || "".equals(username)) { //跳转到登陆页面 res.sendRedirect("http://" + req.getHeader("Host") +"/login_oa.jsp");} else { //已经登陆,继续此次请求 chain.doFilter(req, res); } } public void destroy() { } }
其他补充说明:
常见的未授权访问漏洞:
名称 漏洞 具体案列(点击链接跳转) Redis 未授权访问漏洞 当SSRF遇上Redis MongoDB 未授权访问漏洞 待补充 Jenkins 未授权访问漏洞 待补充 Memcached 未授权访问漏洞 待补充 JBOSS 未授权访问漏洞 待补充 VNC 未授权访问漏洞 待补充 Docker 未授权访问漏洞 待补充 ZooKeeper 未授权访问漏洞 待补充 Rsync 未授权访问漏洞 待补充 Atlassian Crowd 未授权访问漏洞 待补充 CouchDB 未授权访问漏洞 待补充 Elasticsearch 未授权访问漏洞 待补充 Hadoop 未授权访问漏洞 待补充 Jupyter Notebook 未授权访问漏洞 待补充 详情参考(点击下方链接可查看具体复现的过程):https://xz.aliyun.com/t/6103#toc-14
常见未授权访问漏洞总结pdf版:链接:https://pan.baidu.com/s/1wcoeUdJgHBBjlqzj9HKRLA 提取码:5awk