SlideShare a Scribd company logo
Web Securitybased on PHP language
‫وب‬ ‫های‬ ‫افزار‬ ‫نرم‬ ‫امنیت‬
‫زبان‬ ‫روی‬ ‫بر‬ ‫تمرکز‬ ‫با‬PHP
www.owasp.org - www.bostandoust.ir
‫دوست‬ ‫بستان‬ ‫سعید‬
‫افزار‬ ‫نرم‬ ‫و‬ ‫شبکه‬ ‫امنیت‬ ‫متخصص‬ ‫و‬ ‫افزار‬ ‫نرم‬ ‫کارشناس‬
ssbostan@hackermail.com
www.bostandoust.ir
Web Applications Vulnerabilities
‫وب‬ ‫های‬ ‫افزار‬ ‫نرم‬ ‫در‬ ‫رایج‬ ‫های‬ ‫پذیری‬ ‫آسیب‬ ‫بررسی‬
File Inclusion Vulnerability
‫فایل‬ ‫فراخوانی‬ ‫پذیری‬ ‫آسیب‬
●‫کاربر‬ ‫نشده‬ ‫فیلتر‬ ‫ورودی‬ ‫از‬ ‫فایل‬ ‫فراخوانی‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●:‫پذیر‬ ‫آسیب‬ ‫توابع‬include, include_once, require, require_once, fopen, file_get_contents
●‫های‬ ‫فایل‬ ‫اجرای‬ ‫و‬ ‫فراخوانی‬PHP‫خارجی‬ ‫سرور‬ ‫یا‬ ‫محلی‬ ‫سرور‬ ‫در‬ ‫موجود‬
●.‫هستند‬ ‫عموم‬ ‫دسترس‬ ‫از‬ ‫خارج‬ ‫که‬ ‫هایی‬ ‫فایل‬ ‫به‬ ‫دسترسی‬
●‫سیستم‬ ‫پیکربندی‬ ‫به‬ ‫دسترسی‬
●‫سرور‬ ‫فرمان‬ ‫خط‬ ‫به‬ ‫دسترسی‬ ‫و‬ ‫کد‬ ‫تزریق‬
●:‫ها‬ ‫واژه‬ ‫کلید‬LFI, RFI, Local File Inclusion, Remote File Inclusion
How to prevent File Inclusion vulnerability?
‫کنیم؟‬ ‫جلوگیری‬ ‫فایل‬ ‫فراخوانی‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬
●(‫فایل‬ ‫فراخوانی‬ ‫برای‬ ‫کاربر‬ ‫ورودی‬ ‫از‬ ‫استفاده‬ ‫عدم‬GET, POST, REQUEST)
●.‫کنید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫آن‬ ،‫کاربر‬ ‫ورودی‬ ‫از‬ ‫فراخوانی‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬
●‫تنظیمات‬PHP.‫نمایید‬ ‫تنظیم‬ ‫درستی‬ ‫به‬ ‫را‬
●
open_basedir, allow_url_include, allow_url_fopen
●‫های‬ ‫فایل‬PHP.‫شوند‬ ‫اجرا‬ ‫محدود‬ ‫کاربری‬ ‫سطح‬ ‫با‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php include($_GET[“page”] . “.php”); ?>
SQL Injection Vulnerability
‫داده‬ ‫پایگاه‬ ‫جو‬ ‫و‬ ‫پرس‬ ‫دستورات‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬
●‫داده‬ ‫پایگاه‬ ‫جو‬ ‫و‬ ‫پرس‬ ‫دستورات‬ ‫در‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫فیلتر‬ ‫عدم‬ ‫و‬ ‫نادرست‬ ‫استفاده‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●:‫مثال‬ ‫برای‬ .‫باشد‬ ‫ارتباط‬ ‫در‬ ‫داده‬ ‫پایگاه‬ ‫با‬ ‫که‬ ‫تابعی‬ ‫هر‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬mysql_query
●.‫گیرد‬ ‫قرار‬ ‫کاربران‬ ‫عموم‬ ‫دسترس‬ ‫در‬ ‫نباید‬ ‫که‬ ‫هایی‬ ‫داده‬ ‫به‬ ‫دسترسی‬
●.‫شوند‬ ‫اجرا‬ ‫عمومی‬ ‫کاربران‬ ‫توسط‬ ‫نباید‬ ‫که‬ ‫داده‬ ‫پایگاه‬ ‫مدیریتی‬ ‫دستورات‬ ‫اجرای‬ ‫و‬ ‫ها‬ ‫داده‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬
●‫سیستم‬ ‫پیکربندی‬ ‫های‬ ‫فایل‬ ‫به‬ ‫دسترسی‬
●‫سیستم‬ ‫فایل‬ ‫در‬ ‫مخرب‬ ‫های‬ ‫کد‬ ‫تزریق‬ ‫یا‬ ‫ها‬ ‫داده‬ ‫استخراج‬
●:‫ها‬ ‫واژه‬ ‫کلید‬SQLi, Blind SQL Injection
How to prevent SQL Injection vulnerability?
‫کنیم؟‬ ‫جلوگیری‬ ‫داده‬ ‫پایگاه‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬
●‫سنتی‬ ‫توابع‬ ‫از‬mysql‫از‬ ‫آن‬ ‫بجای‬ ‫و‬ ‫نکنید‬ ‫استفاده‬PDO‫یا‬mysqli.‫نمایید‬ ‫استفاده‬
●.‫نمایید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫شوند‬ ‫می‬ ‫وارد‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫هایی‬ ‫داده‬ ‫تمامی‬
●‫توابع‬ ‫از‬ ‫استفاده‬ ‫صورت‬ ‫در‬mysql‫تابع‬ ‫با‬mysql_real_escape_string.‫کنید‬ ‫کد‬ ‫را‬ ‫ویژه‬ ‫کاراکترهای‬
●.‫کنید‬ ‫محدود‬ ‫را‬ ‫داده‬ ‫پایگاه‬ ‫کاربر‬ ‫دسترسی‬ ‫سطح‬
●‫از‬ ‫و‬ ‫نوشته‬ ‫دقت‬ ‫با‬ ‫را‬ ‫جو‬ ‫و‬ ‫پرس‬ ‫دستورات‬*.‫نکنید‬ ‫استفاده‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php mysql_query(“select title from posts where id=’$id’;”); ?>
Code Injection Vulnerability
‫کدهای‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬PHP
●‫کد‬ ‫اجرای‬ ‫توابع‬ ‫در‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫فیلتر‬ ‫عدم‬ ‫و‬ ‫نادرست‬ ‫استفاده‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●‫مانند‬ ‫توابعی‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬eval‫و‬preg_replace.‫گیرند‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫صحیح‬ ‫فیلتر‬ ‫بدون‬ ‫که‬
●‫زبان‬ ‫دستورات‬ ‫اجرای‬PHP‫سرور‬ ‫سمت‬ ‫در‬
●‫شده‬ ‫توزیع‬ ‫حمالت‬ ‫برای‬ ‫سرور‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫فایل‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬
●‫سیستم‬ ‫پیکربندی‬ ‫های‬ ‫فایل‬ ‫به‬ ‫دسترسی‬
●‫سیستم‬ ‫فایل‬ ‫در‬ ‫مخرب‬ ‫های‬ ‫کد‬ ‫تزریق‬ ‫یا‬ ‫ها‬ ‫داده‬ ‫استخراج‬
●:‫ها‬ ‫واژه‬ ‫کلید‬PCI, Eval Injection, PCRE Exploit
How to prevent Code Injection vulnerability?
‫کنیم؟‬ ‫جلوگیری‬ ‫کد‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬
●‫تابع‬ ‫در‬ ‫کاربر‬ ‫ورودی‬ ‫از‬eval.‫نکنید‬ ‫استفاده‬
●‫تابع‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬preg_replace‫کد‬ ‫اجرای‬ ‫امکان‬ ‫از‬)e(.‫نکنید‬ ‫استفاده‬
●.‫نمایید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫کاربر‬ ‫های‬ ‫ورودی‬
●‫دسترسی‬ ‫سطح‬PHP‫محیط‬ ‫در‬ ‫را‬ ‫آن‬ ‫و‬ ‫محدود‬ ‫را‬CGI.‫نمایید‬ ‫اجرا‬
●‫توسط‬ ‫را‬ ‫حساس‬ ‫توابع‬disable_functions.‫کنید‬ ‫محدود‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php echo preg_replace(“/(.*)/e”, “strtoupper(1)”, $input); ?>
Object Injection Vulnerability
‫تزریق‬ ‫پذیری‬ ‫آسیب‬Object‫در‬PHP
●‫شده‬ ‫ذخیره‬ ‫مقادیر‬ ‫بازیابی‬ ‫در‬ ‫کاربر‬ ‫ورودی‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫عدم‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●‫تابع‬ ‫از‬ ‫استفاده‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬unserialize‫توسط‬ ‫که‬ ‫مقادیری‬ ‫بازیابی‬ ‫برای‬serialize.‫اند‬‫شده‬ ‫کد‬
●‫افزار‬ ‫نرم‬ ‫در‬ ‫شده‬ ‫طراحی‬ ‫های‬ ‫کالس‬ ‫از‬ ‫نمونه‬ ‫ایجاد‬
●.‫شوند‬ ‫اجرا‬ ‫عادی‬ ‫کاربران‬ ‫توسط‬ ‫نباید‬ ‫که‬ ‫متدهایی‬ ‫و‬ ‫توابع‬ ‫اجرای‬
●‫متدهای‬ ‫از‬ ‫پذیری‬ ‫آسیب‬ ‫این‬ ‫حمالت‬ ‫ساده‬ ‫صورت‬ ‫به‬wakeup__‫و‬destruct__.‫گیرد‬ ‫می‬ ‫صورت‬
●‫افزار‬ ‫نرم‬ ‫سطح‬ ‫حمالت‬ ‫انواع‬ ‫اجرای‬ ‫امکان‬
●:‫ها‬ ‫واژه‬ ‫کلید‬PHP Object Injection, unserialize Exploit
How to prevent Object Injection vulnerability?
‫تزریق‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬Object‫کنیم؟‬ ‫جلوگیری‬
●.‫نکنید‬ ‫ذخیره‬ ‫کاربر‬ ‫سمت‬ ‫در‬ ‫را‬ ‫آن‬ ‫مقادیر‬ ‫ذخیره‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬
●‫توابع‬ ‫از‬ ‫مقادیر‬ ‫نمودن‬ ‫کد‬ ‫برای‬json_encode‫و‬json_decode.‫نمایید‬ ‫استفاده‬
●‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬unserialize.‫نمایید‬ ‫محدود‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫کالس‬ ‫به‬ ‫را‬ ‫آن‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php
class cacheClass { function __destruct() { @unlink($this->file); } }
$data=unserialize($_GET[“data”]);
?>
Command Execution Vulnerability
‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬ ‫پذیری‬ ‫آسیب‬
●‫سیستم‬ ‫شل‬ ‫به‬ ‫متصل‬ ‫توابع‬ ‫در‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫فیلتر‬ ‫عدم‬ ‫و‬ ‫نادرست‬ ‫استفاده‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●:‫پذیر‬ ‫آسیب‬ ‫توابع‬exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec
●‫دسترسی‬ ‫های‬ ‫محدودیت‬ ‫گرفتن‬ ‫نظر‬ ‫در‬ ‫با‬ ‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬
●‫شده‬ ‫توزیع‬ ‫حمالت‬ ‫برای‬ ‫سرور‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫فایل‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬
●‫سیستم‬ ‫پیکربندی‬ ‫های‬ ‫فایل‬ ‫به‬ ‫دسترسی‬
●‫سیستم‬ ‫به‬ ‫دسترسی‬ ‫سطح‬ ‫افزایش‬ ‫و‬ ‫محلی‬ ‫های‬ ‫اکسپلویت‬ ‫اجرای‬
●:‫ها‬ ‫واژه‬ ‫کلید‬RCE, Remote Command Execution, Command Injection
How to prevent Command Execution vulnerability?
‫کنیم؟‬ ‫جلوگیری‬ ‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬
●.‫نکنید‬ ‫استفاده‬ ‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬ ‫توابع‬ ‫از‬
●‫توسط‬ ‫را‬ ‫حساس‬ ‫توابع‬disable_functions.‫کنید‬ ‫محدود‬
●.‫نمایید‬ ‫فیلتر‬ ‫را‬ ‫کاربر‬ ‫ورودی‬ ،‫فرمان‬ ‫خط‬ ‫به‬ ‫متصل‬ ‫توابع‬ ‫از‬ ‫استفاده‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬
●‫خصوص‬ ‫به‬ ‫و‬ ‫ویژه‬ ‫کاراکترهای‬<> : ; | () * & $ `.‫کنید‬ ‫فیلتر‬ ‫کاربر‬ ‫ورودی‬ ‫در‬ ‫را‬
●‫های‬ ‫پردازش‬PHP‫محیط‬ ‫در‬ ‫را‬CGI.‫نمایید‬ ‫محدود‬ ‫را‬ ‫آن‬ ‫کاربری‬ ‫سطح‬ ‫و‬ ‫اجرا‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php system(“ping -c 3 ” . $_GET[“host”]); ?>
Cross-site Scripting Vulnerability
‫کاربران‬ ‫مرورگر‬ ‫به‬ ‫کد‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬
●‫خروجی‬ ‫در‬ ‫آن‬ ‫مستقیم‬ ‫نمایش‬ ‫و‬ ‫کاربر‬ ‫ورودی‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫عدم‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●:‫مثال‬ ‫برای‬ .‫دارد‬ ‫وجود‬ ‫داده‬ ‫نمایش‬ ‫توابع‬ ‫و‬ ‫دستورات‬ ‫تمام‬ ‫در‬ ‫پذیری‬ ‫آسیب‬ ‫بروز‬ ‫امکان‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬echo
●.‫نماید‬ ‫می‬ ‫تهدید‬ ‫را‬ ‫کنندگان‬ ‫بازدید‬ ‫و‬ ‫گذاشته‬ ‫تاثیر‬ ‫کالینت‬ ‫سمت‬ ‫در‬ ‫پذیری‬ ‫آسیب‬
●‫اطالعات‬ ‫به‬ ‫دسترسی‬cookie‫سرقت‬ ‫و‬session
●‫کننده‬ ‫بازدید‬ ‫سیستم‬ ‫و‬ ‫مرورگر‬ ‫در‬ ‫مخرب‬ ‫کدهای‬ ‫اجرای‬
●.‫دهد‬ ‫نمایش‬ ‫او‬ ‫به‬ ‫جعلی‬ ‫اطالعات‬ ‫یا‬ ‫نموده‬ ‫منتقل‬ ‫دیگر‬ ‫ای‬ ‫صفحه‬ ‫به‬ ‫را‬ ‫کننده‬ ‫بازدید‬ ‫تواند‬‫می‬ ‫نفوذگر‬
●:‫ها‬ ‫واژه‬ ‫کلید‬XSS, Reflected XSS, Persistent XSS
How to prevent Cross-site Scripting vulnerability?
‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬XSS‫کنیم؟‬ ‫جلوگیری‬
●‫بجای‬ ‫گذاری‬ ‫نشانه‬ ‫زبان‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬HTML‫از‬BBCode.‫کنید‬ ‫استفاده‬
●‫های‬ ‫تگ‬HTML‫تابع‬ ‫با‬ ‫را‬strip_tags.‫نمایید‬ ‫حذف‬ ‫کاربر‬ ‫ورودی‬ ‫از‬
●‫توابع‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫خروجی‬ ‫نمایش‬ ‫برای‬htmlentities‫و‬htmlspecialchars.‫کنید‬ ‫کد‬ ‫را‬ ‫ویژه‬ ‫کاراکترهای‬
●‫های‬ ‫الگوریتم‬ ‫از‬ ‫دیتابیس‬ ‫در‬ ‫ها‬ ‫داده‬ ‫ذخیره‬ ‫برای‬encoding‫مانند‬base64.‫نمایید‬ ‫استفاده‬
●‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫کاربر‬ ‫ورودی‬preg_replace.‫کنید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php echo “Search results for: ” . $_GET[“search”]; ?>
Cross-site Request Forgery Vulnerability
‫شده‬ ‫تایید‬ ‫کاربر‬ ‫از‬ ‫جعلی‬ ‫درخواست‬ ‫پذیری‬ ‫آسیب‬
●‫سنجی‬ ‫اعتبار‬ ‫و‬ ‫بررسی‬ ‫بدون‬ ‫حساس‬ ‫های‬ ‫فرآیند‬ ‫اجرای‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●.‫دهد‬ ‫رخ‬ ‫درخواست‬ ‫اجرای‬ ‫از‬ ‫شکلی‬ ‫هر‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫نبوده‬ ‫خاصی‬ ‫تابع‬ ‫به‬ ‫محدود‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬
●‫پذیری‬ ‫آسیب‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫اجتماعی‬ ‫مهندسی‬ ‫های‬ ‫روش‬ ‫از‬ ‫پذیری‬ ‫آسیب‬XSS.‫شود‬‫می‬ ‫اکسپلویت‬
●.‫است‬ ‫شده‬ ‫هویت‬ ‫احراز‬ ‫و‬ ‫نموده‬ ‫ورود‬ ‫وبسایت‬ ‫در‬ ‫که‬ ‫کاربری‬ ‫از‬ ‫جعلی‬ ‫درخواست‬ ‫صدور‬
●.‫است‬ ‫شده‬ ‫سنجی‬ ‫اعتبار‬ ‫که‬ ‫کاربری‬ ‫دسترسی‬ ‫سطح‬ ‫اساس‬ ‫بر‬ ‫شده‬ ‫تعریف‬ ‫های‬ ‫فرآیند‬ ‫اجرای‬
●‫فایل‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬ ،‫نامه‬ ‫ارسال‬ ،‫کاربری‬ ‫حساب‬ ‫حذف‬ ‫یا‬ ‫ایجاد‬ ،‫وجه‬ ‫انتقال‬ ،‫حساب‬ ‫صورت‬ ‫پرداخت‬
●:‫ها‬ ‫واژه‬ ‫کلید‬CSRF, XSRF, Session riding, Sea-surf, One-click attack
How to prevent Cross-site Request Forgery vulnerability?
‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬CSRF‫کنیم؟‬ ‫جلوگیری‬
●‫متد‬ ‫طریق‬ ‫از‬ ‫را‬ ‫حساس‬ ‫های‬ ‫فرآیند‬GET.‫نکنید‬ ‫اجرا‬
●‫از‬ ،‫کاربر‬ ‫درخواست‬ ‫سنجی‬ ‫اعتبار‬ ‫جهت‬Token.‫نمایید‬ ‫استفاده‬
●‫درخواست‬ ‫دهنده‬ ‫ارجاع‬HTTP_REFERER.‫نمایید‬ ‫تصدیق‬ ‫و‬ ‫بررسی‬ ‫را‬
●‫های‬ ‫پذیری‬ ‫آسیب‬XSS.‫نمایید‬ ‫رفع‬ ‫و‬ ‫شناسایی‬ ‫را‬ ‫وبسایت‬
●.‫کنید‬ ‫فعال‬ ‫باال‬ ‫دسترسی‬ ‫سطح‬ ‫با‬ ‫کاربران‬ ‫مرورگر‬ ‫روی‬ ‫را‬ ‫درخواست‬ ‫جعل‬ ‫ضد‬ ‫های‬ ‫افزونه‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php if(is_login() && $_GET[“action”]==”newadmin”) newadmin(); ?>
Unrestricted File Upload Vulnerability
‫محدودیت‬ ‫بدون‬ ‫فایل‬ ‫بارگذاری‬ ‫پذیری‬ ‫آسیب‬
●‫فایل‬ ‫بارگذاری‬ ‫برای‬ ‫ها‬ ‫محدودیت‬ ‫ضعف‬ ‫یا‬ ‫بررسی‬ ‫عدم‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬
●.‫دهد‬ ‫رخ‬ ‫فایل‬ ‫بارگذاری‬ ‫از‬ ‫شکلی‬ ‫هر‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫نبوده‬ ‫خاصی‬ ‫تابع‬ ‫به‬ ‫محدود‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬
●.‫دهد‬‫می‬ ‫نفوذگر‬ ‫به‬ ‫را‬ ‫ای‬ ‫حمله‬ ‫هر‬ ‫امکان‬ ‫و‬ ‫بوده‬ ‫خطرناک‬ ‫بسیار‬ ‫پذیری‬ ‫آسیب‬
●‫وب‬ ‫میزبان‬ ‫سرور‬ ‫در‬ ‫مخرب‬ ‫کدهای‬ ‫اجرای‬ ‫و‬ ‫بارگذاری‬
●‫شده‬ ‫توزیع‬ ‫حمالت‬ ‫و‬ ‫غیرمجاز‬ ‫های‬ ‫فعالیت‬ ‫برای‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫سیستم‬ ‫منابع‬ ‫به‬ ‫دسترسی‬
●‫ایجاد‬Backdoor‫سیستم‬ ‫به‬ ‫پایدار‬ ‫دسترسی‬ ‫و‬
●:‫ها‬ ‫واژه‬ ‫کلید‬UFU Exploit, Arbitrary File Upload
How to prevent Unrestricted File Upload vulnerability?
‫کنیم؟‬ ‫جلوگیری‬ ‫فایل‬ ‫بارگذاری‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬
●‫مانت‬ ‫پارامترهای‬ ‫توسط‬ ‫را‬ ‫شوند‬ ‫می‬ ‫ذخیره‬ ‫آن‬ ‫در‬ ‫ها‬ ‫فایل‬ ‫که‬ ‫مسیری‬noexec.‫نمایید‬
●.‫کنید‬ ‫محدود‬ ‫را‬ ‫اجرایی‬ ‫های‬ ‫فایل‬ ‫پسوند‬ ‫سرور‬ ‫وب‬ ‫تنظیمات‬ ‫در‬
●‫تابع‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫آن‬ ‫بودن‬ ‫معتبر‬ ‫از‬ ‫عکس‬ ‫بارگذاری‬ ‫صورت‬ ‫در‬getimagesize.‫نمایید‬ ‫حاصل‬ ‫اطمینان‬
●.‫کنید‬ ‫بررسی‬ ‫را‬ ‫شده‬ ‫بارگذاری‬ ‫فایل‬ ‫محتوای‬ ‫و‬ ‫نوع‬ ،‫پسوند‬
●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬
<?php
if(isset($_POST[“submit”]))
move_uploaded_file($_FILES[“image”][“tmp_name”], $_FILES[“image”][“name”]);
?>
Conclusion and tips for safe coding in PHP language
‫زبان‬ ‫به‬ ‫امن‬ ‫نویسی‬ ‫برنامه‬ ‫مورد‬ ‫در‬ ‫نکاتی‬ ‫و‬ ‫گیری‬ ‫نتیجه‬PHP
●!‫است‬ ‫خاموش‬ ‫کامپیوتر‬ ‫یک‬ ‫امن‬ ‫کامپیوتر‬ ‫یک‬ ‫باشید‬ ‫داشته‬ ‫یاد‬ ‫به‬
●‫زبان‬ ‫به‬ ‫نویسی‬ ‫برنامه‬PHP.‫دارد‬ ‫بیشتری‬ ‫دقت‬ ‫به‬ ‫نیاز‬ ‫آن‬ ‫های‬ ‫کالس‬ ‫و‬ ‫توابع‬ ‫فراوانی‬ ‫به‬ ‫توجه‬ ‫با‬
●.‫باشد‬ ‫می‬ ‫ورودی‬ ‫های‬ ‫داده‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫عدم‬ ‫از‬ ‫ناشی‬ ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫وجود‬
●!‫کنند‬‫می‬ ‫حرکت‬ ‫شما‬ ‫از‬ ‫جلوتر‬ ‫قدم‬ ‫یک‬ ‫هکرها‬
●!‫دهنده‬ ‫توسعه‬ ‫یک‬ ‫نه‬ ‫کنید‬ ‫نگاه‬ ‫سیستم‬ ‫به‬ ‫نفوذگر‬ ‫یک‬ ‫دید‬ ‫با‬ ‫افزار‬ ‫نرم‬ ‫تست‬ ‫برای‬
●.‫کنید‬ ‫تست‬ ‫واقعی‬ ‫های‬ ‫داده‬ ‫با‬ ‫را‬ ‫آن‬ ،‫افزار‬ ‫نرم‬ ‫نمودن‬ ‫عملیاتی‬ ‫از‬ ‫پیش‬
●.‫نمایید‬ ‫استفاده‬ ‫وبسایت‬ ‫امنیت‬ ‫افزایش‬ ‫برای‬ ‫امنیتی‬ ‫های‬ ‫افزونه‬ ‫از‬
●.‫بگیرید‬ ‫کمک‬ ‫امنیت‬ ‫متخصص‬ ‫یک‬ ‫از‬ ،‫خود‬ ‫افزار‬ ‫نرم‬ ‫های‬ ‫پذیری‬ ‫آسیب‬ ‫رفع‬ ‫و‬ ‫بررسی‬ ‫برای‬
Thanks for your attention.
.‫سپاسگزارم‬ ‫شما‬ ‫توجه‬ ‫از‬
www.owasp.org/index.php/User:Saeid_Bostandoust

More Related Content

Similar to امنیت در نرم افزارهای وب

مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهد
عباس بني اسدي مقدم
 
The role of formal method in reaching dependable software (farsi)
The role of formal method in reaching dependable software (farsi)The role of formal method in reaching dependable software (farsi)
The role of formal method in reaching dependable software (farsi)
Ali Bahrani
 
انواع ارزیابی های امنیتی و مراحل تست و نفوذ
انواع ارزیابی های امنیتی و مراحل تست  و نفوذانواع ارزیابی های امنیتی و مراحل تست  و نفوذ
انواع ارزیابی های امنیتی و مراحل تست و نفوذ
SaeidGhasemshirazi
 
Burp suite
Burp suiteBurp suite
Burp suite
ghanbarianm
 
Keylogger
KeyloggerKeylogger
Chapter 12 - network security
Chapter 12 - network securityChapter 12 - network security
Chapter 12 - network security
behrad eslamifar
 
Keydoc presentation (1)
Keydoc presentation (1)Keydoc presentation (1)
Keydoc presentation (1)
danesh hamara
 
security of IOT
security of IOTsecurity of IOT
security of IOT
Yashar Esmaildokht
 
Method for Two Dimensional Honeypot in a Web Application
Method for Two Dimensional Honeypot in a Web ApplicationMethod for Two Dimensional Honeypot in a Web Application
Method for Two Dimensional Honeypot in a Web Application
Ramin Najjarbashi
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار
عباس بني اسدي مقدم
 
CEH
CEHCEH
رایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزاررایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزار
Danial Behzadi
 
Quick heal company profile
Quick heal company profileQuick heal company profile
Quick heal company profile
quickheal_co_ir
 
Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)
Morteza Javan
 
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیاسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
Vahid Hashemi
 
Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique
Nima Nikjoo
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in Implementation
Morteza Zakeri
 
طراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وب
طراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وبطراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وب
طراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وب
MoEii Hm
 
Cryptovirology Introduction, SecurityThreats, Safeguards and Countermeasures
Cryptovirology Introduction, SecurityThreats, Safeguards and CountermeasuresCryptovirology Introduction, SecurityThreats, Safeguards and Countermeasures
Cryptovirology Introduction, SecurityThreats, Safeguards and Countermeasures
M Mehdi Ahmadian
 

Similar to امنیت در نرم افزارهای وب (20)

مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهد
 
The role of formal method in reaching dependable software (farsi)
The role of formal method in reaching dependable software (farsi)The role of formal method in reaching dependable software (farsi)
The role of formal method in reaching dependable software (farsi)
 
انواع ارزیابی های امنیتی و مراحل تست و نفوذ
انواع ارزیابی های امنیتی و مراحل تست  و نفوذانواع ارزیابی های امنیتی و مراحل تست  و نفوذ
انواع ارزیابی های امنیتی و مراحل تست و نفوذ
 
Burp suite
Burp suiteBurp suite
Burp suite
 
Keylogger
KeyloggerKeylogger
Keylogger
 
Chapter 12 - network security
Chapter 12 - network securityChapter 12 - network security
Chapter 12 - network security
 
Keydoc presentation (1)
Keydoc presentation (1)Keydoc presentation (1)
Keydoc presentation (1)
 
security of IOT
security of IOTsecurity of IOT
security of IOT
 
Method for Two Dimensional Honeypot in a Web Application
Method for Two Dimensional Honeypot in a Web ApplicationMethod for Two Dimensional Honeypot in a Web Application
Method for Two Dimensional Honeypot in a Web Application
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار
 
CEH
CEHCEH
CEH
 
رایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزاررایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزار
 
Quick heal company profile
Quick heal company profileQuick heal company profile
Quick heal company profile
 
Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)
 
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیاسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
 
Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in Implementation
 
طراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وب
طراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وبطراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وب
طراحی، پیاده‌سازی و ارزیابی رایانش توری تحت وب
 
Cryptovirology Introduction, SecurityThreats, Safeguards and Countermeasures
Cryptovirology Introduction, SecurityThreats, Safeguards and CountermeasuresCryptovirology Introduction, SecurityThreats, Safeguards and Countermeasures
Cryptovirology Introduction, SecurityThreats, Safeguards and Countermeasures
 
Proxmox
ProxmoxProxmox
Proxmox
 

More from Shiraz LUG

منطق فازی
منطق فازیمنطق فازی
منطق فازی
Shiraz LUG
 
بینایی ماشین
بینایی ماشینبینایی ماشین
بینایی ماشین
Shiraz LUG
 
رایانش ابری
رایانش ابریرایانش ابری
رایانش ابری
Shiraz LUG
 
Ubuntu workshop
Ubuntu workshopUbuntu workshop
Ubuntu workshop
Shiraz LUG
 
Python workshop
Python workshopPython workshop
Python workshop
Shiraz LUG
 
پردازش زبان طبیعی
پردازش زبان طبیعیپردازش زبان طبیعی
پردازش زبان طبیعی
Shiraz LUG
 
gnu و fsf پروژه های پیشنهادی
gnu و fsf پروژه های پیشنهادی gnu و fsf پروژه های پیشنهادی
gnu و fsf پروژه های پیشنهادی
Shiraz LUG
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
Shiraz LUG
 
(رمزنگاری (گذشته، حال، آینده
(رمزنگاری (گذشته، حال، آینده(رمزنگاری (گذشته، حال، آینده
(رمزنگاری (گذشته، حال، آینده
Shiraz LUG
 
(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم
(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم
(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم
Shiraz LUG
 
(اصول پایه ویدئو و صوت دیجیتال (قسمت اول
(اصول پایه ویدئو و صوت دیجیتال (قسمت اول(اصول پایه ویدئو و صوت دیجیتال (قسمت اول
(اصول پایه ویدئو و صوت دیجیتال (قسمت اول
Shiraz LUG
 
HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در
Shiraz LUG
 
برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#
برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#
برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#
Shiraz LUG
 
فرصت های برنامه نویسی با بلاک چین
فرصت های برنامه نویسی با بلاک چینفرصت های برنامه نویسی با بلاک چین
فرصت های برنامه نویسی با بلاک چین
Shiraz LUG
 
توانمندسازی سازمان های مردم نهاد
توانمندسازی سازمان های مردم نهادتوانمندسازی سازمان های مردم نهاد
توانمندسازی سازمان های مردم نهاد
Shiraz LUG
 
کنترل ورژن گیت
کنترل ورژن گیتکنترل ورژن گیت
کنترل ورژن گیت
Shiraz LUG
 
Lua زبان برنامه نویسی
Lua زبان برنامه نویسی Lua زبان برنامه نویسی
Lua زبان برنامه نویسی
Shiraz LUG
 
R یادگیری ماشین با استفاده از زبان برنامه نویسی
R یادگیری ماشین با استفاده از زبان برنامه نویسیR یادگیری ماشین با استفاده از زبان برنامه نویسی
R یادگیری ماشین با استفاده از زبان برنامه نویسی
Shiraz LUG
 
برای طراحان گرافیک inkscape
 برای طراحان گرافیک inkscape برای طراحان گرافیک inkscape
برای طراحان گرافیک inkscape
Shiraz LUG
 
SMO و SEO آشنایی با
SMO و SEO آشنایی با SMO و SEO آشنایی با
SMO و SEO آشنایی با
Shiraz LUG
 

More from Shiraz LUG (20)

منطق فازی
منطق فازیمنطق فازی
منطق فازی
 
بینایی ماشین
بینایی ماشینبینایی ماشین
بینایی ماشین
 
رایانش ابری
رایانش ابریرایانش ابری
رایانش ابری
 
Ubuntu workshop
Ubuntu workshopUbuntu workshop
Ubuntu workshop
 
Python workshop
Python workshopPython workshop
Python workshop
 
پردازش زبان طبیعی
پردازش زبان طبیعیپردازش زبان طبیعی
پردازش زبان طبیعی
 
gnu و fsf پروژه های پیشنهادی
gnu و fsf پروژه های پیشنهادی gnu و fsf پروژه های پیشنهادی
gnu و fsf پروژه های پیشنهادی
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
(رمزنگاری (گذشته، حال، آینده
(رمزنگاری (گذشته، حال، آینده(رمزنگاری (گذشته، حال، آینده
(رمزنگاری (گذشته، حال، آینده
 
(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم
(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم
(اصول پایه ویدئو و صوت دیجیتال (قسمت دوم
 
(اصول پایه ویدئو و صوت دیجیتال (قسمت اول
(اصول پایه ویدئو و صوت دیجیتال (قسمت اول(اصول پایه ویدئو و صوت دیجیتال (قسمت اول
(اصول پایه ویدئو و صوت دیجیتال (قسمت اول
 
HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در
 
برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#
برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#
برنامه نویسی مستقل از پلتفرم با استفاده از .NET Core و C#
 
فرصت های برنامه نویسی با بلاک چین
فرصت های برنامه نویسی با بلاک چینفرصت های برنامه نویسی با بلاک چین
فرصت های برنامه نویسی با بلاک چین
 
توانمندسازی سازمان های مردم نهاد
توانمندسازی سازمان های مردم نهادتوانمندسازی سازمان های مردم نهاد
توانمندسازی سازمان های مردم نهاد
 
کنترل ورژن گیت
کنترل ورژن گیتکنترل ورژن گیت
کنترل ورژن گیت
 
Lua زبان برنامه نویسی
Lua زبان برنامه نویسی Lua زبان برنامه نویسی
Lua زبان برنامه نویسی
 
R یادگیری ماشین با استفاده از زبان برنامه نویسی
R یادگیری ماشین با استفاده از زبان برنامه نویسیR یادگیری ماشین با استفاده از زبان برنامه نویسی
R یادگیری ماشین با استفاده از زبان برنامه نویسی
 
برای طراحان گرافیک inkscape
 برای طراحان گرافیک inkscape برای طراحان گرافیک inkscape
برای طراحان گرافیک inkscape
 
SMO و SEO آشنایی با
SMO و SEO آشنایی با SMO و SEO آشنایی با
SMO و SEO آشنایی با
 

امنیت در نرم افزارهای وب

  • 1.
  • 2.
  • 3. Web Securitybased on PHP language ‫وب‬ ‫های‬ ‫افزار‬ ‫نرم‬ ‫امنیت‬ ‫زبان‬ ‫روی‬ ‫بر‬ ‫تمرکز‬ ‫با‬PHP www.owasp.org - www.bostandoust.ir
  • 4. ‫دوست‬ ‫بستان‬ ‫سعید‬ ‫افزار‬ ‫نرم‬ ‫و‬ ‫شبکه‬ ‫امنیت‬ ‫متخصص‬ ‫و‬ ‫افزار‬ ‫نرم‬ ‫کارشناس‬ ssbostan@hackermail.com www.bostandoust.ir
  • 5. Web Applications Vulnerabilities ‫وب‬ ‫های‬ ‫افزار‬ ‫نرم‬ ‫در‬ ‫رایج‬ ‫های‬ ‫پذیری‬ ‫آسیب‬ ‫بررسی‬
  • 6. File Inclusion Vulnerability ‫فایل‬ ‫فراخوانی‬ ‫پذیری‬ ‫آسیب‬ ●‫کاربر‬ ‫نشده‬ ‫فیلتر‬ ‫ورودی‬ ‫از‬ ‫فایل‬ ‫فراخوانی‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●:‫پذیر‬ ‫آسیب‬ ‫توابع‬include, include_once, require, require_once, fopen, file_get_contents ●‫های‬ ‫فایل‬ ‫اجرای‬ ‫و‬ ‫فراخوانی‬PHP‫خارجی‬ ‫سرور‬ ‫یا‬ ‫محلی‬ ‫سرور‬ ‫در‬ ‫موجود‬ ●.‫هستند‬ ‫عموم‬ ‫دسترس‬ ‫از‬ ‫خارج‬ ‫که‬ ‫هایی‬ ‫فایل‬ ‫به‬ ‫دسترسی‬ ●‫سیستم‬ ‫پیکربندی‬ ‫به‬ ‫دسترسی‬ ●‫سرور‬ ‫فرمان‬ ‫خط‬ ‫به‬ ‫دسترسی‬ ‫و‬ ‫کد‬ ‫تزریق‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬LFI, RFI, Local File Inclusion, Remote File Inclusion
  • 7. How to prevent File Inclusion vulnerability? ‫کنیم؟‬ ‫جلوگیری‬ ‫فایل‬ ‫فراخوانی‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬ ●(‫فایل‬ ‫فراخوانی‬ ‫برای‬ ‫کاربر‬ ‫ورودی‬ ‫از‬ ‫استفاده‬ ‫عدم‬GET, POST, REQUEST) ●.‫کنید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫آن‬ ،‫کاربر‬ ‫ورودی‬ ‫از‬ ‫فراخوانی‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ●‫تنظیمات‬PHP.‫نمایید‬ ‫تنظیم‬ ‫درستی‬ ‫به‬ ‫را‬ ● open_basedir, allow_url_include, allow_url_fopen ●‫های‬ ‫فایل‬PHP.‫شوند‬ ‫اجرا‬ ‫محدود‬ ‫کاربری‬ ‫سطح‬ ‫با‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php include($_GET[“page”] . “.php”); ?>
  • 8. SQL Injection Vulnerability ‫داده‬ ‫پایگاه‬ ‫جو‬ ‫و‬ ‫پرس‬ ‫دستورات‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬ ●‫داده‬ ‫پایگاه‬ ‫جو‬ ‫و‬ ‫پرس‬ ‫دستورات‬ ‫در‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫فیلتر‬ ‫عدم‬ ‫و‬ ‫نادرست‬ ‫استفاده‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●:‫مثال‬ ‫برای‬ .‫باشد‬ ‫ارتباط‬ ‫در‬ ‫داده‬ ‫پایگاه‬ ‫با‬ ‫که‬ ‫تابعی‬ ‫هر‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬mysql_query ●.‫گیرد‬ ‫قرار‬ ‫کاربران‬ ‫عموم‬ ‫دسترس‬ ‫در‬ ‫نباید‬ ‫که‬ ‫هایی‬ ‫داده‬ ‫به‬ ‫دسترسی‬ ●.‫شوند‬ ‫اجرا‬ ‫عمومی‬ ‫کاربران‬ ‫توسط‬ ‫نباید‬ ‫که‬ ‫داده‬ ‫پایگاه‬ ‫مدیریتی‬ ‫دستورات‬ ‫اجرای‬ ‫و‬ ‫ها‬ ‫داده‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬ ●‫سیستم‬ ‫پیکربندی‬ ‫های‬ ‫فایل‬ ‫به‬ ‫دسترسی‬ ●‫سیستم‬ ‫فایل‬ ‫در‬ ‫مخرب‬ ‫های‬ ‫کد‬ ‫تزریق‬ ‫یا‬ ‫ها‬ ‫داده‬ ‫استخراج‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬SQLi, Blind SQL Injection
  • 9. How to prevent SQL Injection vulnerability? ‫کنیم؟‬ ‫جلوگیری‬ ‫داده‬ ‫پایگاه‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬ ●‫سنتی‬ ‫توابع‬ ‫از‬mysql‫از‬ ‫آن‬ ‫بجای‬ ‫و‬ ‫نکنید‬ ‫استفاده‬PDO‫یا‬mysqli.‫نمایید‬ ‫استفاده‬ ●.‫نمایید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫شوند‬ ‫می‬ ‫وارد‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫هایی‬ ‫داده‬ ‫تمامی‬ ●‫توابع‬ ‫از‬ ‫استفاده‬ ‫صورت‬ ‫در‬mysql‫تابع‬ ‫با‬mysql_real_escape_string.‫کنید‬ ‫کد‬ ‫را‬ ‫ویژه‬ ‫کاراکترهای‬ ●.‫کنید‬ ‫محدود‬ ‫را‬ ‫داده‬ ‫پایگاه‬ ‫کاربر‬ ‫دسترسی‬ ‫سطح‬ ●‫از‬ ‫و‬ ‫نوشته‬ ‫دقت‬ ‫با‬ ‫را‬ ‫جو‬ ‫و‬ ‫پرس‬ ‫دستورات‬*.‫نکنید‬ ‫استفاده‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php mysql_query(“select title from posts where id=’$id’;”); ?>
  • 10. Code Injection Vulnerability ‫کدهای‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬PHP ●‫کد‬ ‫اجرای‬ ‫توابع‬ ‫در‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫فیلتر‬ ‫عدم‬ ‫و‬ ‫نادرست‬ ‫استفاده‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●‫مانند‬ ‫توابعی‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬eval‫و‬preg_replace.‫گیرند‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫صحیح‬ ‫فیلتر‬ ‫بدون‬ ‫که‬ ●‫زبان‬ ‫دستورات‬ ‫اجرای‬PHP‫سرور‬ ‫سمت‬ ‫در‬ ●‫شده‬ ‫توزیع‬ ‫حمالت‬ ‫برای‬ ‫سرور‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫فایل‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬ ●‫سیستم‬ ‫پیکربندی‬ ‫های‬ ‫فایل‬ ‫به‬ ‫دسترسی‬ ●‫سیستم‬ ‫فایل‬ ‫در‬ ‫مخرب‬ ‫های‬ ‫کد‬ ‫تزریق‬ ‫یا‬ ‫ها‬ ‫داده‬ ‫استخراج‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬PCI, Eval Injection, PCRE Exploit
  • 11. How to prevent Code Injection vulnerability? ‫کنیم؟‬ ‫جلوگیری‬ ‫کد‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬ ●‫تابع‬ ‫در‬ ‫کاربر‬ ‫ورودی‬ ‫از‬eval.‫نکنید‬ ‫استفاده‬ ●‫تابع‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬preg_replace‫کد‬ ‫اجرای‬ ‫امکان‬ ‫از‬)e(.‫نکنید‬ ‫استفاده‬ ●.‫نمایید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ●‫دسترسی‬ ‫سطح‬PHP‫محیط‬ ‫در‬ ‫را‬ ‫آن‬ ‫و‬ ‫محدود‬ ‫را‬CGI.‫نمایید‬ ‫اجرا‬ ●‫توسط‬ ‫را‬ ‫حساس‬ ‫توابع‬disable_functions.‫کنید‬ ‫محدود‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php echo preg_replace(“/(.*)/e”, “strtoupper(1)”, $input); ?>
  • 12. Object Injection Vulnerability ‫تزریق‬ ‫پذیری‬ ‫آسیب‬Object‫در‬PHP ●‫شده‬ ‫ذخیره‬ ‫مقادیر‬ ‫بازیابی‬ ‫در‬ ‫کاربر‬ ‫ورودی‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫عدم‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●‫تابع‬ ‫از‬ ‫استفاده‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬unserialize‫توسط‬ ‫که‬ ‫مقادیری‬ ‫بازیابی‬ ‫برای‬serialize.‫اند‬‫شده‬ ‫کد‬ ●‫افزار‬ ‫نرم‬ ‫در‬ ‫شده‬ ‫طراحی‬ ‫های‬ ‫کالس‬ ‫از‬ ‫نمونه‬ ‫ایجاد‬ ●.‫شوند‬ ‫اجرا‬ ‫عادی‬ ‫کاربران‬ ‫توسط‬ ‫نباید‬ ‫که‬ ‫متدهایی‬ ‫و‬ ‫توابع‬ ‫اجرای‬ ●‫متدهای‬ ‫از‬ ‫پذیری‬ ‫آسیب‬ ‫این‬ ‫حمالت‬ ‫ساده‬ ‫صورت‬ ‫به‬wakeup__‫و‬destruct__.‫گیرد‬ ‫می‬ ‫صورت‬ ●‫افزار‬ ‫نرم‬ ‫سطح‬ ‫حمالت‬ ‫انواع‬ ‫اجرای‬ ‫امکان‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬PHP Object Injection, unserialize Exploit
  • 13. How to prevent Object Injection vulnerability? ‫تزریق‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬Object‫کنیم؟‬ ‫جلوگیری‬ ●.‫نکنید‬ ‫ذخیره‬ ‫کاربر‬ ‫سمت‬ ‫در‬ ‫را‬ ‫آن‬ ‫مقادیر‬ ‫ذخیره‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ●‫توابع‬ ‫از‬ ‫مقادیر‬ ‫نمودن‬ ‫کد‬ ‫برای‬json_encode‫و‬json_decode.‫نمایید‬ ‫استفاده‬ ●‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬unserialize.‫نمایید‬ ‫محدود‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫کالس‬ ‫به‬ ‫را‬ ‫آن‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php class cacheClass { function __destruct() { @unlink($this->file); } } $data=unserialize($_GET[“data”]); ?>
  • 14. Command Execution Vulnerability ‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬ ‫پذیری‬ ‫آسیب‬ ●‫سیستم‬ ‫شل‬ ‫به‬ ‫متصل‬ ‫توابع‬ ‫در‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫فیلتر‬ ‫عدم‬ ‫و‬ ‫نادرست‬ ‫استفاده‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●:‫پذیر‬ ‫آسیب‬ ‫توابع‬exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec ●‫دسترسی‬ ‫های‬ ‫محدودیت‬ ‫گرفتن‬ ‫نظر‬ ‫در‬ ‫با‬ ‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬ ●‫شده‬ ‫توزیع‬ ‫حمالت‬ ‫برای‬ ‫سرور‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫فایل‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬ ●‫سیستم‬ ‫پیکربندی‬ ‫های‬ ‫فایل‬ ‫به‬ ‫دسترسی‬ ●‫سیستم‬ ‫به‬ ‫دسترسی‬ ‫سطح‬ ‫افزایش‬ ‫و‬ ‫محلی‬ ‫های‬ ‫اکسپلویت‬ ‫اجرای‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬RCE, Remote Command Execution, Command Injection
  • 15. How to prevent Command Execution vulnerability? ‫کنیم؟‬ ‫جلوگیری‬ ‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬ ●.‫نکنید‬ ‫استفاده‬ ‫فرمان‬ ‫خط‬ ‫دستورات‬ ‫اجرای‬ ‫توابع‬ ‫از‬ ●‫توسط‬ ‫را‬ ‫حساس‬ ‫توابع‬disable_functions.‫کنید‬ ‫محدود‬ ●.‫نمایید‬ ‫فیلتر‬ ‫را‬ ‫کاربر‬ ‫ورودی‬ ،‫فرمان‬ ‫خط‬ ‫به‬ ‫متصل‬ ‫توابع‬ ‫از‬ ‫استفاده‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ●‫خصوص‬ ‫به‬ ‫و‬ ‫ویژه‬ ‫کاراکترهای‬<> : ; | () * & $ `.‫کنید‬ ‫فیلتر‬ ‫کاربر‬ ‫ورودی‬ ‫در‬ ‫را‬ ●‫های‬ ‫پردازش‬PHP‫محیط‬ ‫در‬ ‫را‬CGI.‫نمایید‬ ‫محدود‬ ‫را‬ ‫آن‬ ‫کاربری‬ ‫سطح‬ ‫و‬ ‫اجرا‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php system(“ping -c 3 ” . $_GET[“host”]); ?>
  • 16. Cross-site Scripting Vulnerability ‫کاربران‬ ‫مرورگر‬ ‫به‬ ‫کد‬ ‫تزریق‬ ‫پذیری‬ ‫آسیب‬ ●‫خروجی‬ ‫در‬ ‫آن‬ ‫مستقیم‬ ‫نمایش‬ ‫و‬ ‫کاربر‬ ‫ورودی‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫عدم‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●:‫مثال‬ ‫برای‬ .‫دارد‬ ‫وجود‬ ‫داده‬ ‫نمایش‬ ‫توابع‬ ‫و‬ ‫دستورات‬ ‫تمام‬ ‫در‬ ‫پذیری‬ ‫آسیب‬ ‫بروز‬ ‫امکان‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬echo ●.‫نماید‬ ‫می‬ ‫تهدید‬ ‫را‬ ‫کنندگان‬ ‫بازدید‬ ‫و‬ ‫گذاشته‬ ‫تاثیر‬ ‫کالینت‬ ‫سمت‬ ‫در‬ ‫پذیری‬ ‫آسیب‬ ●‫اطالعات‬ ‫به‬ ‫دسترسی‬cookie‫سرقت‬ ‫و‬session ●‫کننده‬ ‫بازدید‬ ‫سیستم‬ ‫و‬ ‫مرورگر‬ ‫در‬ ‫مخرب‬ ‫کدهای‬ ‫اجرای‬ ●.‫دهد‬ ‫نمایش‬ ‫او‬ ‫به‬ ‫جعلی‬ ‫اطالعات‬ ‫یا‬ ‫نموده‬ ‫منتقل‬ ‫دیگر‬ ‫ای‬ ‫صفحه‬ ‫به‬ ‫را‬ ‫کننده‬ ‫بازدید‬ ‫تواند‬‫می‬ ‫نفوذگر‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬XSS, Reflected XSS, Persistent XSS
  • 17. How to prevent Cross-site Scripting vulnerability? ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬XSS‫کنیم؟‬ ‫جلوگیری‬ ●‫بجای‬ ‫گذاری‬ ‫نشانه‬ ‫زبان‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬HTML‫از‬BBCode.‫کنید‬ ‫استفاده‬ ●‫های‬ ‫تگ‬HTML‫تابع‬ ‫با‬ ‫را‬strip_tags.‫نمایید‬ ‫حذف‬ ‫کاربر‬ ‫ورودی‬ ‫از‬ ●‫توابع‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫خروجی‬ ‫نمایش‬ ‫برای‬htmlentities‫و‬htmlspecialchars.‫کنید‬ ‫کد‬ ‫را‬ ‫ویژه‬ ‫کاراکترهای‬ ●‫های‬ ‫الگوریتم‬ ‫از‬ ‫دیتابیس‬ ‫در‬ ‫ها‬ ‫داده‬ ‫ذخیره‬ ‫برای‬encoding‫مانند‬base64.‫نمایید‬ ‫استفاده‬ ●‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫کاربر‬ ‫ورودی‬preg_replace.‫کنید‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php echo “Search results for: ” . $_GET[“search”]; ?>
  • 18. Cross-site Request Forgery Vulnerability ‫شده‬ ‫تایید‬ ‫کاربر‬ ‫از‬ ‫جعلی‬ ‫درخواست‬ ‫پذیری‬ ‫آسیب‬ ●‫سنجی‬ ‫اعتبار‬ ‫و‬ ‫بررسی‬ ‫بدون‬ ‫حساس‬ ‫های‬ ‫فرآیند‬ ‫اجرای‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●.‫دهد‬ ‫رخ‬ ‫درخواست‬ ‫اجرای‬ ‫از‬ ‫شکلی‬ ‫هر‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫نبوده‬ ‫خاصی‬ ‫تابع‬ ‫به‬ ‫محدود‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬ ●‫پذیری‬ ‫آسیب‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫اجتماعی‬ ‫مهندسی‬ ‫های‬ ‫روش‬ ‫از‬ ‫پذیری‬ ‫آسیب‬XSS.‫شود‬‫می‬ ‫اکسپلویت‬ ●.‫است‬ ‫شده‬ ‫هویت‬ ‫احراز‬ ‫و‬ ‫نموده‬ ‫ورود‬ ‫وبسایت‬ ‫در‬ ‫که‬ ‫کاربری‬ ‫از‬ ‫جعلی‬ ‫درخواست‬ ‫صدور‬ ●.‫است‬ ‫شده‬ ‫سنجی‬ ‫اعتبار‬ ‫که‬ ‫کاربری‬ ‫دسترسی‬ ‫سطح‬ ‫اساس‬ ‫بر‬ ‫شده‬ ‫تعریف‬ ‫های‬ ‫فرآیند‬ ‫اجرای‬ ●‫فایل‬ ‫حذف‬ ‫و‬ ‫ویرایش‬ ،‫درج‬ ،‫نامه‬ ‫ارسال‬ ،‫کاربری‬ ‫حساب‬ ‫حذف‬ ‫یا‬ ‫ایجاد‬ ،‫وجه‬ ‫انتقال‬ ،‫حساب‬ ‫صورت‬ ‫پرداخت‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬CSRF, XSRF, Session riding, Sea-surf, One-click attack
  • 19. How to prevent Cross-site Request Forgery vulnerability? ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬CSRF‫کنیم؟‬ ‫جلوگیری‬ ●‫متد‬ ‫طریق‬ ‫از‬ ‫را‬ ‫حساس‬ ‫های‬ ‫فرآیند‬GET.‫نکنید‬ ‫اجرا‬ ●‫از‬ ،‫کاربر‬ ‫درخواست‬ ‫سنجی‬ ‫اعتبار‬ ‫جهت‬Token.‫نمایید‬ ‫استفاده‬ ●‫درخواست‬ ‫دهنده‬ ‫ارجاع‬HTTP_REFERER.‫نمایید‬ ‫تصدیق‬ ‫و‬ ‫بررسی‬ ‫را‬ ●‫های‬ ‫پذیری‬ ‫آسیب‬XSS.‫نمایید‬ ‫رفع‬ ‫و‬ ‫شناسایی‬ ‫را‬ ‫وبسایت‬ ●.‫کنید‬ ‫فعال‬ ‫باال‬ ‫دسترسی‬ ‫سطح‬ ‫با‬ ‫کاربران‬ ‫مرورگر‬ ‫روی‬ ‫را‬ ‫درخواست‬ ‫جعل‬ ‫ضد‬ ‫های‬ ‫افزونه‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php if(is_login() && $_GET[“action”]==”newadmin”) newadmin(); ?>
  • 20. Unrestricted File Upload Vulnerability ‫محدودیت‬ ‫بدون‬ ‫فایل‬ ‫بارگذاری‬ ‫پذیری‬ ‫آسیب‬ ●‫فایل‬ ‫بارگذاری‬ ‫برای‬ ‫ها‬ ‫محدودیت‬ ‫ضعف‬ ‫یا‬ ‫بررسی‬ ‫عدم‬ :‫پذیری‬ ‫آسیب‬ ‫عوامل‬ ●.‫دهد‬ ‫رخ‬ ‫فایل‬ ‫بارگذاری‬ ‫از‬ ‫شکلی‬ ‫هر‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫نبوده‬ ‫خاصی‬ ‫تابع‬ ‫به‬ ‫محدود‬ :‫پذیر‬ ‫آسیب‬ ‫توابع‬ ●.‫دهد‬‫می‬ ‫نفوذگر‬ ‫به‬ ‫را‬ ‫ای‬ ‫حمله‬ ‫هر‬ ‫امکان‬ ‫و‬ ‫بوده‬ ‫خطرناک‬ ‫بسیار‬ ‫پذیری‬ ‫آسیب‬ ●‫وب‬ ‫میزبان‬ ‫سرور‬ ‫در‬ ‫مخرب‬ ‫کدهای‬ ‫اجرای‬ ‫و‬ ‫بارگذاری‬ ●‫شده‬ ‫توزیع‬ ‫حمالت‬ ‫و‬ ‫غیرمجاز‬ ‫های‬ ‫فعالیت‬ ‫برای‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫سیستم‬ ‫منابع‬ ‫به‬ ‫دسترسی‬ ●‫ایجاد‬Backdoor‫سیستم‬ ‫به‬ ‫پایدار‬ ‫دسترسی‬ ‫و‬ ●:‫ها‬ ‫واژه‬ ‫کلید‬UFU Exploit, Arbitrary File Upload
  • 21. How to prevent Unrestricted File Upload vulnerability? ‫کنیم؟‬ ‫جلوگیری‬ ‫فایل‬ ‫بارگذاری‬ ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫چگونه‬ ●‫مانت‬ ‫پارامترهای‬ ‫توسط‬ ‫را‬ ‫شوند‬ ‫می‬ ‫ذخیره‬ ‫آن‬ ‫در‬ ‫ها‬ ‫فایل‬ ‫که‬ ‫مسیری‬noexec.‫نمایید‬ ●.‫کنید‬ ‫محدود‬ ‫را‬ ‫اجرایی‬ ‫های‬ ‫فایل‬ ‫پسوند‬ ‫سرور‬ ‫وب‬ ‫تنظیمات‬ ‫در‬ ●‫تابع‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫آن‬ ‫بودن‬ ‫معتبر‬ ‫از‬ ‫عکس‬ ‫بارگذاری‬ ‫صورت‬ ‫در‬getimagesize.‫نمایید‬ ‫حاصل‬ ‫اطمینان‬ ●.‫کنید‬ ‫بررسی‬ ‫را‬ ‫شده‬ ‫بارگذاری‬ ‫فایل‬ ‫محتوای‬ ‫و‬ ‫نوع‬ ،‫پسوند‬ ●:‫پذیر‬ ‫آسیب‬ ‫کد‬ ‫نمونه‬ <?php if(isset($_POST[“submit”])) move_uploaded_file($_FILES[“image”][“tmp_name”], $_FILES[“image”][“name”]); ?>
  • 22. Conclusion and tips for safe coding in PHP language ‫زبان‬ ‫به‬ ‫امن‬ ‫نویسی‬ ‫برنامه‬ ‫مورد‬ ‫در‬ ‫نکاتی‬ ‫و‬ ‫گیری‬ ‫نتیجه‬PHP ●!‫است‬ ‫خاموش‬ ‫کامپیوتر‬ ‫یک‬ ‫امن‬ ‫کامپیوتر‬ ‫یک‬ ‫باشید‬ ‫داشته‬ ‫یاد‬ ‫به‬ ●‫زبان‬ ‫به‬ ‫نویسی‬ ‫برنامه‬PHP.‫دارد‬ ‫بیشتری‬ ‫دقت‬ ‫به‬ ‫نیاز‬ ‫آن‬ ‫های‬ ‫کالس‬ ‫و‬ ‫توابع‬ ‫فراوانی‬ ‫به‬ ‫توجه‬ ‫با‬ ●.‫باشد‬ ‫می‬ ‫ورودی‬ ‫های‬ ‫داده‬ ‫فیلتر‬ ‫و‬ ‫بررسی‬ ‫عدم‬ ‫از‬ ‫ناشی‬ ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫وجود‬ ●!‫کنند‬‫می‬ ‫حرکت‬ ‫شما‬ ‫از‬ ‫جلوتر‬ ‫قدم‬ ‫یک‬ ‫هکرها‬ ●!‫دهنده‬ ‫توسعه‬ ‫یک‬ ‫نه‬ ‫کنید‬ ‫نگاه‬ ‫سیستم‬ ‫به‬ ‫نفوذگر‬ ‫یک‬ ‫دید‬ ‫با‬ ‫افزار‬ ‫نرم‬ ‫تست‬ ‫برای‬ ●.‫کنید‬ ‫تست‬ ‫واقعی‬ ‫های‬ ‫داده‬ ‫با‬ ‫را‬ ‫آن‬ ،‫افزار‬ ‫نرم‬ ‫نمودن‬ ‫عملیاتی‬ ‫از‬ ‫پیش‬ ●.‫نمایید‬ ‫استفاده‬ ‫وبسایت‬ ‫امنیت‬ ‫افزایش‬ ‫برای‬ ‫امنیتی‬ ‫های‬ ‫افزونه‬ ‫از‬ ●.‫بگیرید‬ ‫کمک‬ ‫امنیت‬ ‫متخصص‬ ‫یک‬ ‫از‬ ،‫خود‬ ‫افزار‬ ‫نرم‬ ‫های‬ ‫پذیری‬ ‫آسیب‬ ‫رفع‬ ‫و‬ ‫بررسی‬ ‫برای‬
  • 23. Thanks for your attention. .‫سپاسگزارم‬ ‫شما‬ ‫توجه‬ ‫از‬ www.owasp.org/index.php/User:Saeid_Bostandoust