Local File Inclusion To Remote
Command Execution [LFI <> RCE]
By
Sharath Unni
Introduction
What is a file inclusion vulnerability?
How the attack works?
RFI/LFI vulnerable PHP functions
Traverse and read local files
Path Traversal / FI using scanners
Reverse shell via LFI
Other ways to inject your code
Defending yourself
What is a file inclusion vulnerability?
Input validation
The application trusts/doesn’t validate the user input
The code includes/imports other pages
Dynamic including of the page
When PHP includes a file it will parse any PHP code within
that file (“<?php” and “?>”)
Do not trust the user…ever !!
How the attack works?
http://192.168.109.136/dvwa/vulnerabilities/fi/?page=include
Common locations
Normally, the following files are read:
/etc/passwd
/etc/group
/etc/security/passwd
/etc/security/user
/etc/security/environ
/etc/httpd/conf/httpd.conf
Other Unix common locations
Path Traversal / FI using scanners
http://sectooladdict.blogspot.in/ OR http://sectoolmarket.com/
We read the files,
what next?
Reverse shell via LFI
PHP script to open an outbound TCP connection
Other ways to inject your code
Using directory traversal to read files
Log poisoning (access.log, error.log)
Session variables
Uploaded files
Emails
Shared hosting
FTP and other logs