22
حسن کرمی صادقی سعید1

Web Application Security Test

Embed Size (px)

Citation preview

Page 1: Web Application Security Test

حسن کرمیسعید صادقی

1

Page 2: Web Application Security Test

Open Web Application Security Protocol Project(OWASP)

باید یک پروژه غیر دولتی است که در آن معیارهای که برای حفظ امنیت نرم افزار تحت وب.بکار رود تشریح داده میشود

یک پروژه متن باز(Open Source)

OWASP و یا در ابتدا بع عنوان یک استاندارد معرفی نشد ولی امروزه به عنوان یک معیارطراحی و تولید امنیت در نرم افزارهای تحت وب استفاده می شودامنیتی baselineیک

2

Page 3: Web Application Security Test

Source Code Review

دستی برای چک کردن سورس کد و کشف مشکالت امنیتیفراید .

دقیق ترین روش برای باگ های امنیتی

حدس ها و سناریوها در روش هایBlack boxحذف می شود

concurrency , backdoor ،نقاط ضعف رمزنگاری

3

Page 4: Web Application Security Test

Penetration Testing

روش معمول برای تست امنیت که به صورتblack box که بهشethical hacking یا

اخالقیهک

Penetration test هنر تست نرم افزار از راه دور برای پیدا کردنvulnerabilities

دسترسی تستر به نرم افزار مشابه دسترسی کاربر عادی

استفاده از ابزارها برای تست

سرعت تست بیشتر ازSource review

4

Page 5: Web Application Security Test

شناسدباید یک متخصص امنیت باشد و تمامی باگ های امنیت موجود در فضای وب را ب

ذیری ها راه حل این آسیب پدر گزارش تست خود عالوه بر نقاط آسیب پذیر می بایست

ارائه دهدDeveloperرو هم به تیم

5

Page 6: Web Application Security Test

6

شناسدباید یک متخصص امنیت باشد و تمامی باگ های امنیت موجود در فضای وب را ب

ذیری ها راه حل این آسیب پدر گزارش تست خود عالوه بر نقاط آسیب پذیر می بایست

ارائه دهدDeveloperرو هم به تیم

Page 7: Web Application Security Test

7

Testing for Configuration and Deployment management

تنظیمات و کانفیگ های اهمیت تستServerوhostیکWeb application

oTest Network/Infrastructure Configuration

تست پیکربندی، زیرساخت و شبکه

جدا بودن سرورهایDB ،CDN ،Main Server ،temp partition

Page 8: Web Application Security Test

8

oTest Application Platform Configuration

امکانات و پلتفرم های نصب شدهdefault بر رویwebserverها.

•Directory traversal vulnerability in CodeBrws.asp in Microsoft IIS 5.0

•Use of sendmail.jsp in Oracle 9iAS

•Directory traversal in the view-source sample in Apache’s Cocoon

Page 9: Web Application Security Test

9

oTest File Extensions Handling for Sensitive Information

شوندفرمت فایل ها عموما برای اعتبار سنجی فایل های آپلودی استفاده می

رودمیکه انتظار ست ینفایل اون چیزی محتوای

دسترسی به فرمت های خاص

Page 10: Web Application Security Test

10

connection.inc

mysql_connect("127.0.0.1", "root", "")

or die("Could not connect");

ش داده چون فرمت فایل به گونه ای نیست که وب سرور آن را اجرا کنید محتوای فایل نمای

.می شود

در روال تستExtensionسرورfailedمی شود .asa

.inc

.zip, .tar, .gz, .tgz, .rar, ...: (Compressed) archive files

.java: No reason to provide access to Java source files

.txt: Text files

.pdf: PDF documents

.doc, .rtf, .xls, .ppt, ...: Office documents

.bak, .old and other extensions indicative of backup files (for example: ~ for Emacs backup files)

Page 11: Web Application Security Test

11

oTest HTTP Methods (OTG-CONFIG-006)

پروتکولhttp میدهند ارائه هایی را یک سری متود HEAD

GET

POST

PUT

DELETE

TRACE

OPTIONS

CONNECT

یک خطر بلقوه برای خود برخی از این متود هاweb applicationمتد های .هستند

put , delete , connectمثل

از خواهیم در صورتی که نمیRest web service این متود ها باید کرد های استفاده

disableشوند

Page 12: Web Application Security Test

12

oTest RIA cross domain policy (OTG-CONFIG-008)

برنامه های کاربری غیر اینترنتی مثل آسیبپذیریSilverlight, Adobe Flash

اجازه دسترسی این فایل ها به منابع سرور

ی فایل های واسطمی دهند و یکی از مواردی که تستر های امنیت مورد بررسی قرار

.می کنندایجاد دسترسی به منابع سرور استفادهبرای است که این نوع تکنولوژی ها

Sockets permissions

Header permissions

HTTP/HTTPS access permissions

Sockets permissions

Header permissions

HTTP/HTTPS access permissions

Page 13: Web Application Security Test

13

exploitکردن باگ های سرور بسیار مشکل تر از باگ های نرم افزار است و

.به سرور رو در آخرین مرحله قرار می دهندattackنفوزگرها

Authentication Testing

Testing for Weak password policy

Testing for User Enumeration and Guessable User Account

Login for User foo: invalid password

Login failed for User foo: invalid Account

http://www.foo.com/err.jsp?User=gooduser&Error=2

http://www.foo.com/err.jsp?User=baduser&Error=0

Page 14: Web Application Security Test

14

Testing for Bypassing Authentication Schema

Direct page request (forced browsing)

Session ID prediction

SQL injection

Page 15: Web Application Security Test

15

Testing for Brute Force

HTTP Authentication;

◦ Basic Access Authentication

HTML Form-based Authentication

Page 16: Web Application Security Test

16

Session Management Testing

Check session tokens for cookie flags (httpOnly and secure, domain)

Authorization Testing

Directory Traversal

Page 17: Web Application Security Test

17

Input Validation Testing

SQL Injection (SQLi)

Blind SQL Injection

Testing for Command Injection

Page 18: Web Application Security Test

18

Testing for Local File Inclusion

Testing for Remote File Inclusion

Page 19: Web Application Security Test

19

Cross-site Scripting (XSS)

Page 20: Web Application Security Test

19

CSRF Cross-Site Request Forgery

Page 21: Web Application Security Test

20

WAF(Web Application Firewall)

Page 22: Web Application Security Test

21

WAF(Web Application Firewall)