1. In com.xq.tmall.controller.admin.AccountController#uploadAdminHeadImage, the administrator's head image upload is found. After uploading the file, the file suffix is directly obtained without any verification. Therefore, there is an arbitrary file upload vulnerability here.
2. Analysis found that as long as the URL contains /admin/login or /admin/account, the filter will not intercept the verification permission. There is an unauthorized access vulnerability here, which can directly access all backend interfaces without authorization.
3. Combined with the unauthorized access vulnerability at the filter, we can directly call the backend administrator avatar upload interface without authorization. Therefore, this vulnerability can be directly uploaded through the front-end file getshell. Next, we construct a POC. We must use burpsuit to send the package, otherwise ../ will be swallowed by the browser
```
POST /admin/login/../../tmall/admin/uploadAdminHeadImage HTTP/1.1
1. In com.xq.tmall.controller.admin.AccountController#uploadAdminHeadImage, the administrator's head image upload is found. After uploading the file, the file suffix is directly obtained without any verification. Therefore, there is an arbitrary file upload vulnerability here.
2. Analysis found that as long as the URL contains /admin/login or /admin/account, the filter will not intercept the verification permission. There is an unauthorized access vulnerability here, which can directly access all backend interfaces without authorization.
3. Combined with the unauthorized access vulnerability at the filter, we can directly call the backend administrator avatar upload interface without authorization. Therefore, this vulnerability can be directly uploaded through the front-end file getshell. Next, we construct a POC. We must use burpsuit to send the package, otherwise ../ will be swallowed by the browser
```
POST /admin/login/../../tmall/admin/uploadAdminHeadImage HTTP/1.1