حقن sql (الاشهر على الاطلاق) (الخطوره عاليه):
<?php
$offset = $argv[0]; !
$query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);
?>
ثغرات xss (الخطورة متوسطه) :
<?php
$name = $_GET['name'];
echo "Welcome $name";
?>
ثغرات remote file injection منقرضه على php لاكن موجوده بكثره في aspx وعلى المواقع العربيه خاصه وقد تجد حتى في مواقع البنوك D: (خطوره عاليه جداً !! ) :
<?php
$incfile = $_REQUEST["file"];
include($incfile.".php");
?>
ثغرة remote code execution تنفيذ اوامر على السيرفر (خطورة عاليه ) :
<?php
$name = $_GET[‘name’]
system(“echo $name”);
?>
نصائح :
تجنب استخدام الدوال eval + system
استخدم بحذر شديد وليس بشكل ديناميكي من مدخلات المستخدم : include
دائماً تاكد من البيانات المدخله $_POST + $_GET قبل عرضها بالامر ECHO
تاكد من عدم عرض الاخطاء وعرضها في ملف log عبر التعديل في ملف php.ini الامر
display_errors = off
او تنفيذ هذه الاوامر :
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
- تاكد من الغاء تفعيل Directory Listing على السيرفر عبر انشاء ملف .htaccess ثم احفظ السطر التالي فيه :
Options -Indexes
- اخيراً عند رفع صورة للسيرفر لكي تتجنب ان يكون الملف خطيراً استخدم الداله :
bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )
بالتوفيق
التعليقات