php-filter-chain-oracle

Reconstruct file contents byte-by-byte from blind PHP LFI targets using iconv filter chains.

11|1|Updated May 4, 2026
One-click install
npx skills add https://github.com/dreadnode/capabilities --skill php-filter-chain-oracle
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: php-filter-chain-oracle
Source: https://github.com/dreadnode/capabilities/tree/main/capabilities/web-security/skills/php-filter-chain-oracle
Command: npx skills add https://github.com/dreadnode/capabilities --skill php-filter-chain-oracle

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the critical limitation of being unable to read arbitrary files from PHP targets affected by blind local file inclusion (LFI) vulnerabilities that return no direct visible output of the included file content.

Core Features & Use Cases

  • Blind LFI Exploitation: Leverages PHP filter chain error-based oracles to exfiltrate file contents even when no direct output from the included file is visible to the user.
  • Differential Response Analysis: Uses memory exhaustion differentials from chained iconv filters and the dechunk oracle to reconstruct file contents byte-by-byte based on observable HTTP response differences (500 vs 200 status codes).
  • Use Case: For penetration testers assessing PHP web applications, this Skill enables reading sensitive files such as /etc/passwd or application configuration files when only a blind LFI vulnerability is present, with no direct file output available.

Quick Start

Use the php-filter-chain-oracle skill to exfiltrate the contents of /etc/passwd from the target PHP application's blind LFI endpoint.

Frequently Asked Questions about php-filter-chain-oracle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I read files from a blind PHP LFI vulnerability with no visible output?

You can exfiltrate files from a blind PHP LFI vulnerability by leveraging php:// filter wrapper access to chain iconv filters and trigger memory exhaustion differentials, reconstructing file contents byte-by-byte without direct output from the included file.

What is a dechunk oracle in PHP filter chain exploitation?

A dechunk oracle in PHP filter chain exploitation uses chained iconv filters to trigger memory exhaustion based on target byte values, creating observable HTTP response differentials like 500 versus 200 status codes to reconstruct file contents.

Can I use PHP filter chains to read configuration files during penetration testing?

Yes, you can use PHP filter chains to read sensitive files like /etc/passwd or application configuration files during authorized penetration testing when standard LFI exploitation is blocked by a lack of visible file content output.

What prerequisites are needed to exploit blind LFI with PHP filter chains?

Exploiting blind LFI with PHP filter chains requires confirmed php:// filter wrapper access, observable differential HTTP error responses, and an authorized penetration testing scenario where standard LFI exploitation is blocked by lack of visible file content output.

Why does blind LFI exploitation require differential HTTP response analysis?

Blind LFI exploitation requires differential HTTP response analysis because the included file content returns no direct visible output, making memory exhaustion differentials from filter chain oracles the only reliable indicator to validate guessed target byte values.