File Permission
Check List
Methodology
File Permission (Sensitive File)
1
Using the following commands to find access to files inside the web server, which are made with PHP, we can run whether we can write, read, or execute a file inside the web server
2
If a sensitive file is found, we can reach the vulnerability with high-level access
Cheat Sheet
Check DIR/File Permissions
find /var/www/html -exec namei -l {} \;<?php
// Dynamically get the current directory path
$directory = dirname(__FILE__);
// Function to check file and folder permissions and determine if they are unsafe
function checkPermissions($filePath)
{
$permissions = fileperms($filePath);
$issues = [];
if (is_dir($filePath)) {
if ($permissions & 0x0002) {
$issues[] = "Writable";
}
if ($permissions & 0x0001) {
$issues[] = "Executable";
}
} else {
if ($permissions & 0x0002) {
$issues[] = "Writable";
}
if (is_executable($filePath)) {
$issues[] = "Executable";
}
if ($permissions & 0x0004) {
$issues[] = "Readable";
}
}
return !empty($issues)
? implode(", ", $issues)
: "Safe";
}
// Check if the directory exists
if (is_dir($directory)) {
$files = scandir($directory);
$files = array_diff($files, ['.', '..']);
$isConsole = php_sapi_name() === 'cli';
if ($isConsole) {
echo "Directory: $directory\n";
echo "----------------------------------------------- \n";
foreach ($files as $file) {
$filePath = $directory . DIRECTORY_SEPARATOR . $file;
$type = is_dir($filePath) ? "Directory" : "File";
$status = checkPermissions($filePath);
echo "$file ($type): $status\n";
}
} else {
echo "<strong>Directory:</strong> $directory<br>";
echo "<hr>";
echo "<ul>";
foreach ($files as $file) {
$filePath = $directory . DIRECTORY_SEPARATOR . $file;
$type = is_dir($filePath) ? "Directory" : "File";
$status = checkPermissions($filePath);
echo "<li><strong>$file</strong> ($type): $status</li>";
}
echo "</ul>";
}
} else {
$message = "Directory not found.";
echo php_sapi_name() === 'cli' ? "$message\n" : "<strong>$message</strong><br>";
}
?>Check Sensitive Files
Check Log DIR/Files
Check Executable Files
Check Database Files
Check Temp DIR/Files
Check Upload DIR/Files
Last updated