FOFA EX supports a plugin mode for automated asset detection (e.g., httpx for live probing).
Directory Structure:
.
├── fofaEX.jar
├── plugins
│ ├── AllPlugins.json
│ └── httpx
│ ├── httpx.exe
│ └── httpxSetting.json
├── rules.txt
└── run.bat
1. Enable/Disable Plugins:
Edit plugins/AllPlugins.json to toggle plugins on or off:
{
"dirsearch": false,
"httpx": true
}
2. Configure Plugin Settings:
Each plugin requires a configuration file named <plugin_name>Setting.json (e.g., httpxSetting.json). For the httpx plugin, the configuration includes:
Path: Path to the plugin executable.Params: Default command-line arguments.InputFile: The data file generated by FOFA EX (./coredata/FofaEX.json).InputTarget: Defines which column from the FOFA data to use as input (e.g., selectColumn: "link").OutputFile: Where the plugin saves its results.OutputTarget: Which columns from the plugin output should be displayed in the FOFA EX interface.
macOS Support:
To use plugins on macOS:
- Download the macOS binary for the tool (e.g.,
httpx) from its official repository. - Replace the
.exe file in plugins/httpx/ with the macOS binary. - Update
httpxSetting.json so the Path points to the macOS binary (e.g., ./plugins/httpx/httpx). - Ensure the binary has execution permissions (
chmod +x).
{
"Run":{
"Path":"./plugins/httpx/httpx.exe",
"Params":{
"-duc":"",
"-l":"./plugins/httpx/input.txt",
"-status-code":"",
"-o":"./plugins/httpx/HttpX.json",
"-nc":"",
"-j":""
},
"InputFile":"./coredata/FofaEX.json",
"InputTarget":{
"selectParam":"-l",
"selectColumn":"link"
},
"OutputFile":"./plugins/httpx/HttpX.json",
"OutputTarget":["url","port","title","status_code"]
}
}