|
1 | 1 | # HackShiro
|
2 | 2 |
|
3 |
| -本项目创建于2020年8月11日。记录自己在学习Shiro漏洞过程中遇到的一些知识。本项目会持续更新,最近的一次更新时间为2022年4月23日。 |
| 3 | +本项目创建于2020年8月11日。记录自己在学习Shiro漏洞过程中遇到的一些知识。本项目会持续更新,最近的一次更新时间为2022年5月15日。作者:[0e0w](https://github.com/0e0w) |
4 | 4 |
|
5 |
| -- [01-Shiro基础知识](https://github.com/0e0w/HackShiro#%E4%B8%80shiro%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86) |
6 |
| -- [02-Shiro漏洞汇总](https://github.com/0e0w/HackShiro#%E4%BA%8Cshiro%E6%BC%8F%E6%B4%9E%E6%B1%87%E6%80%BB) |
7 |
| -- [03-Shiro框架识别](https://github.com/0e0w/HackShiro#%E4%B8%89shiro%E6%A1%86%E6%9E%B6%E8%AF%86%E5%88%AB) |
8 |
| -- [04-Shiro漏洞检测](https://github.com/0e0w/HackShiro#%E5%9B%9Bshiro%E6%BC%8F%E6%B4%9E%E6%A3%80%E6%B5%8B) |
9 |
| -- [05-Shiro漏洞利用](https://github.com/0e0w/HackShiro#%E4%BA%94shiro%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8) |
10 |
| -- [06-Shiro靶场环境](https://github.com/0e0w/HackShiro#%E5%85%ADshiro%E9%9D%B6%E5%9C%BA%E7%8E%AF%E5%A2%83) |
| 5 | +- [01-Shiro基础知识]() |
| 6 | +- [02-Shiro框架识别]() |
| 7 | +- [03-Shiro漏洞汇总]() |
| 8 | +- [04-Shiro漏洞检测]() |
| 9 | +- [05-Shiro漏洞利用]() |
| 10 | +- [06-Shiro靶场环境]() |
11 | 11 |
|
12 |
| -## 0x01-Shiro基础知识 |
| 12 | +## 01-Shiro基础知识 |
13 | 13 | - https://github.com/apache/shiro
|
14 | 14 | - http://greycode.github.io/shiro/doc/reference.html
|
15 | 15 |
|
16 |
| -## 0x02-Shiro漏洞汇总 |
| 16 | +## 02-Shiro框架识别 |
| 17 | + |
| 18 | +- 请求包的cookie中存在rememberMe字段。 |
| 19 | +- 响应包中存在rememberMe=deleteMe字段。 |
| 20 | +- 请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe。 |
| 21 | +- 检测工具:Banli.exe is shiro |
| 22 | + |
| 23 | +## 03-Shiro漏洞汇总 |
17 | 24 |
|
18 | 25 | - CVE-2020-17523
|
19 | 26 | - CVE-2020-17510
|
|
22 | 29 | - CVE-2016-6802#Shiro Padding Oracle Attack
|
23 | 30 | - CVE-2016-4437#Shiro rememberMe反序列化漏洞
|
24 | 31 |
|
25 |
| -## 0x03-Shiro框架识别 |
26 |
| - |
27 |
| -- 请求包的cookie中存在rememberMe字段。 |
28 |
| -- 响应包中存在rememberMe=deleteMe字段。 |
29 |
| -- 请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe。 |
30 |
| -- 检测工具:isshiro.exe |
31 |
| - |
32 |
| -## 0x04-Shiro漏洞检测 |
33 |
| - |
| 32 | +## 04-Shiro漏洞检测 |
| 33 | + |
| 34 | +- KEYS |
| 35 | +- GCM |
| 36 | +- Gadget |
| 37 | + - CommonsBeanutils1 |
| 38 | + - CommonsBeanutils1_192 |
| 39 | + - CommonsBeanutilsAttrCompare |
| 40 | + - CommonsBeanutilsAttrCompare_192 |
| 41 | + - CommonsBeanutilsObjectToStringComparator |
| 42 | + - CommonsBeanutilsObjectToStringComparator_192 |
| 43 | + - CommonsBeanutilsPropertySource |
| 44 | + - CommonsBeanutilsPropertySource_192 |
| 45 | + - CommonsBeanutilsString |
| 46 | + - CommonsBeanutilsString_192 |
| 47 | + - CommonsCollections2 |
| 48 | + - CommonsCollections3 |
| 49 | + - CommonsCollectionsK1 |
| 50 | + - CommonsCollectionsK2 |
| 51 | + - CommonsBeanutils1 |
| 52 | + - CommonsBeanutils1_192 |
| 53 | + - CommonsBeanutilsAttrCompare |
| 54 | + - CommonsBeanutilsAttrCompare_192 |
| 55 | + - CommonsBeanutilsObjectToStringComparator |
| 56 | + - CommonsBeanutilsObjectToStringComparator_192 |
| 57 | + - CommonsBeanutilsPropertySource |
| 58 | + - CommonsBeanutilsPropertySource_192 |
| 59 | + - CommonsBeanutilsString |
| 60 | + - CommonsBeanutilsString_192 |
| 61 | + - CommonsCollections2 |
| 62 | + - CommonsCollections3 |
| 63 | + - CommonsCollectionsK1 |
| 64 | + - CommonsCollectionsK2 |
| 65 | + - [ ] 测试:CommonsBeanutils1_192 回显方式: TomcatEcho |
| 66 | + [x] 测试:CommonsBeanutils1_192 回显方式: SpringEcho |
| 67 | + [x] 测试:CommonsCollections2 回显方式: TomcatEcho |
| 68 | + [x] 测试:CommonsCollections2 回显方式: SpringEcho |
| 69 | + [x] 测试:CommonsCollections3 回显方式: TomcatEcho |
| 70 | + [x] 测试:CommonsCollections3 回显方式: SpringEcho |
| 71 | + [x] 测试:CommonsCollectionsK1 回显方式: TomcatEcho |
| 72 | + [x] 测试:CommonsCollectionsK1 回显方式: SpringEcho |
| 73 | + [x] 测试:CommonsCollectionsK2 回显方式: TomcatEcho |
| 74 | + [x] 测试:CommonsCollectionsK2 回显方式: SpringEcho |
| 75 | + [x] 测试:CommonsBeanutilsString 回显方式: TomcatEcho |
| 76 | + [x] 测试:CommonsBeanutilsString 回显方式: SpringEcho |
| 77 | + [x] 测试:CommonsBeanutilsString_192 回显方式: TomcatEcho |
| 78 | + [x] 测试:CommonsBeanutilsString_192 回显方式: SpringEcho |
| 79 | + [x] 测试:CommonsBeanutilsAttrCompare 回显方式: TomcatEcho |
| 80 | + [x] 测试:CommonsBeanutilsAttrCompare 回显方式: SpringEcho |
| 81 | + [x] 测试:CommonsBeanutilsAttrCompare_192 回显方式: TomcatEcho |
| 82 | + [x] 测试:CommonsBeanutilsAttrCompare_192 回显方式: SpringEcho |
| 83 | + [x] 测试:CommonsBeanutilsPropertySource 回显方式: TomcatEcho |
| 84 | + [x] 测试:CommonsBeanutilsPropertySource 回显方式: SpringEcho |
| 85 | + [x] 测试:CommonsBeanutilsPropertySource_192 回显方式: TomcatEcho |
| 86 | + [x] 测试:CommonsBeanutilsPropertySource_192 回显方式: SpringEcho |
| 87 | + [x] 测试:CommonsBeanutilsObjectToStringComparator 回显方式: TomcatEcho |
| 88 | + [x] 测试:CommonsBeanutilsObjectToStringComparator 回显方式: SpringEcho |
| 89 | + [x] 测试:CommonsBeanutilsObjectToStringComparator_192 回显方式: TomcatEcho |
| 90 | + [x] 测试:CommonsBeanutilsObjectToStringComparator_192 回显方式: SpringEcho |
| 91 | +- 回显 |
| 92 | + - LinuxEcho |
| 93 | + - SpringEcho1 |
| 94 | + - SpringEcho2 |
| 95 | + - TomcatEcho |
| 96 | + - TomcatEcho2 |
| 97 | + - JBossEcho |
| 98 | + - WeblogicEcho |
| 99 | + - ResinEcho |
| 100 | + - JettyEcho |
| 101 | + - AutoFindRequestEcho |
| 102 | + - WriteFileEcho |
34 | 103 | - 可以出网
|
35 | 104 | - 不可出网
|
36 | 105 |
|
37 |
| -## 0x05-Shiro漏洞利用 |
| 106 | +## 05-Shiro漏洞利用 |
38 | 107 |
|
39 | 108 | 本项目注重漏洞利用效果。详细的漏洞分析请参考本站的关于Shiro分析的文章。Shiro命令回显最早是Xray高级版的利用方式。此后安全研究人员根据Xray的相关思路编写出了可直接回显的漏洞利用程序。
|
40 | 109 |
|
|
69 | 138 | - https://github.com/KpLi0rn/ShiroExploit
|
70 | 139 | - https://github.com/safe6Sec/ShiroExp
|
71 | 140 | - https://github.com/longofo/PaddingOracleAttack-Shiro-721
|
| 141 | +- https://github.com/myzxcg/ShiroKeyCheck |
72 | 142 |
|
73 |
| -## 0x06-Shiro靶场环境 |
| 143 | +## 06-Shiro靶场环境 |
74 | 144 |
|
75 | 145 | - https://vulhub.org
|
76 | 146 | - https://fofapro.github.io/vulfocus
|
77 | 147 |
|
78 |
| -## 0x07-Shiro参考资源 |
| 148 | +## 07-Shiro参考资源 |
79 | 149 |
|
80 | 150 | - https://paper.seebug.org/1290
|
81 | 151 | - https://koalr.me/post/shiro-lou-dong-jian-ce
|
0 commit comments