> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/zh/web/access-control/change-role-in-user-profile.md).

# 在用户资料中更改角色

在用户资料中更改角色，PortSwigger Web Security Academy 实验笔记，包括利用流程、载荷测试、Burp Suite 验证以及修复上下文。

### 用户角色可以在用户资料中修改

此实验包含一个管理面板，位于 **/admin**，仅连接的、具有 **roleid = 2**。/ 任务是修改我们自己的角色，访问管理界面并删除用户 **carlos**.

1. 我们使用提供的凭据连接：/ **wiener: peter**
2. 在资料部分，电子邮件地址的更改通过 JSON 请求发送，例如：

```json
{
"email":"jordan@test.com"
}
```

响应会将这些数据直接返回为 JSON，这表明没有应用严格的过滤。

<figure><img src="https://1574813340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-59ccadbba6672adcf288e5c0cd0317288cf828c0%2Fimage%20(3097).png?alt=media" alt=""><figcaption></figcaption></figure>

通过注入一个额外参数 **roleid**，我们测试：

```json
{
"email":"jordan@test.com",
"roleid": 2
}
```

5. 服务器接受了这个更改并返回一个 **302 已找到**，确认我们的角色已被更改为 **2**.
6. 一旦提升为管理员，我们就可以访问 **/admin**，在那里只需使用功能即可 **删除用户 carlos** 从而完成实验。

<figure><img src="https://1574813340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9627b90e0e102d5cbf3b52e226c5b166c00245d3%2Fimage%20(248).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/zh/web/access-control/change-role-in-user-profile.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
