> 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/ssrf/basic-ssrf-against-local-server.md).

# 针对本地服务器的基础 SSRF

针对本地服务器的基础 SSRF 笔记，适用于 PortSwigger Web Security Academy 实验室，包括利用流程、载荷测试、Burp Suite 验证和修复上下文。

### 针对本地服务器的基础 SSRF

此实验提供了一个查询内部服务的库存验证功能。/ 目标是修改此检查所使用的 URL，以访问位于 `HTTP://localhost/admin` 然后删除该用户 **carlos**.

#### **分析与利用**

该 **stockApi** 参数向一个内部 URL 发送查询：

```bash
stockApi=http://stock.weliketoshop.net:8080/product/stock/check?productId=1&storeId=1
```

通过拦截请求，可以将此 URL 替换为本地目标。/ 服务器会正确处理以下值：

```javascript
stockApi=http://localhost/admin
```

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

这使得可以显示管理界面。

#### **删除用户**

在管理界面的 HTML 代码中，我们观察到用于删除用户的参数：

```
/admin/delete?username=carlos
```

<figure><img src="https://1574813340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9f056e8db3df4ebc8a07a5cbb7852ca26f7d3ad8%2Fimage%20(338).png?alt=media" alt=""><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/ssrf/basic-ssrf-against-local-server.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.
