Basic LFI Techniques

Overview

Local File Inclusion (LFI) is a web application vulnerability that allows attackers to include and read local files from the server's filesystem. This occurs when applications dynamically include files based on user input without proper validation or sanitization.

Impact:

  • Sensitive file disclosure - Reading system files like /etc/passwd, /etc/shadow

  • Source code disclosure - Accessing application source code

  • Configuration file access - Database credentials, API keys

  • Log file poisoning - Potential code execution through log injection

  • Remote Code Execution - Combined with file upload or log poisoning

  • Information gathering - System enumeration and reconnaissance


How LFI Works

Vulnerable Code Examples

Basic Include Function:

<?php
include($_GET['page']);
?>

Template Loading:

File Reading Function:

Node.js Example:

Vulnerable Functions

PHP Functions:

  • include() / include_once()

  • require() / require_once()

  • file_get_contents()

  • fopen() / fread()

  • readfile()

  • file()

Other Languages:

  • Node.js: fs.readFile(), fs.readFileSync()

  • Python: open(), file()

  • Java: FileInputStream, Files.readAllLines()

  • .NET: File.ReadAllText(), StreamReader


Basic LFI Exploitation

1. Direct File Access

Example Application:

LFI Test:

2. Path Traversal Techniques

Directory Traversal Sequences:

Common Path Depths:

3. Path Traversal Examples


Common Readable Files

Linux System Files

Essential System Files:

Application Files:

Windows System Files

Essential System Files:

IIS and Application Files:


HTB Academy Basic LFI Labs

HTB Academy Basic LFI Lab Solution

Target: Accessible via HTB Academy platform Objective: Find user starting with "b" and read flag.txt

Lab Solution 1: Find User Starting with "b"

Answer: barry

Lab Solution 2: Read flag.txt

Answer: HTB{...}


LFI Discovery and Testing

Manual Testing Methodology

Step 1: Parameter Identification

Step 2: Basic LFI Tests

Step 3: Error Analysis

Manual Testing Checklist


LFI Troubleshooting & Common Mistakes

Problem: No output or blank page

Problem: Path traversal not working

Problem: File not found errors

Problem: Application adding file extensions


Tools and Resources

Manual Testing Tools

Useful Commands

Common LFI Wordlists


This guide covers fundamental Local File Inclusion techniques from HTB Academy's File Inclusion module, providing essential knowledge for penetration testing and web application security assessment.

Last updated