در ویرایش اول این کتاب تحسینشده، اندرو هافمن سه ستون اصلی امنیت برنامههای کاربردی را تعریف کرد: شناسایی (reconnaissance)، حمله (offense) و دفاع (defense). در این ویرایش دوم بازبینیشده و بهروزرسانیشده، او دهها موضوع مرتبط را بررسی میکند، از جدیدترین انواع حملات و روشهای کاهش خطر تا مدلسازی تهدید، چرخه عمر توسعه نرمافزار امن (SSDL/SDLC) و موارد دیگر. هافمن، مهندس ارشد امنیت در ریپل، همچنین اطلاعاتی در مورد اکسپلویتها و روشهای کاهش خطر برای چندین فناوری اضافی برنامههای وب مانند GraphQL، استقرارهای مبتنی بر ابر، شبکههای تحویل محتوا (CDN) و رندرینگ سمت سرور (SSR) ارائه میدهد. این ویرایش دوم، با پیروی از برنامه درسی کتاب اول، به سه ستون متمایز تقسیم شده است که شامل سه مجموعه مهارت جداگانه است: ستون ۱: شناسایی – تکنیکهای نقشهبرداری و مستندسازی برنامههای وب از راه دور را بیاموزید، از جمله رویهها برای کار با برنامههای وب. ستون ۲: حمله – روشهای حمله به برنامههای وب را با استفاده از تعدادی اکسپلویت بسیار مؤثر که توسط بهترین هکرها در جهان اثبات شدهاند، کاوش کنید. این مهارتها در کنار مهارتهای ستون ۳ ارزشمند هستند. ستون ۳: دفاع – بر اساس مهارتهای کسبشده در دو بخش اول، روشهای کاهش خطر مؤثر و طولانیمدت را برای هر یک از حملات توصیفشده در ستون ۲ بسازید.
اشتراکی

با مرور فصلها، ساختار ، محتوای کتاب را به سرعت بشناسید.
با مرور فصلهای این کتاب میتونی خیلی سریع بفهمی هر بخش چی یاد میده، ساختار کلی چطوره و از کجا باید شروع کنی. هر فصل روی یک مفهوم یا مهارت خاص تمرکز داره و موضوعات اصلیش رو میبینی تا انتخابت آگاهانهتر باشه. چه بخوای کل کتاب رو دنبال کنی، چه فقط یک بخش خاص رو دنبال کنی، این نما کمکت میکنه مسیرت رو پیدا کنی.

تاریخچه امنیت نرمافزار
The Origins of Hacking • The Enigma Machine, Circa 1930 • Automated Enigma Code Cracking, Circa 1940 • Telephone “Phreaking,” Circa 1950 • Anti-Phreaking Technology, Circa 1960 • The Origins of Computer Hacking, Circa 1980 • The Rise of the World Wide Web, Circa 2000 • Hackers in the Modern Era, Circa 2015+ • Summary
درحال تولید...
به جای یک نمای کلی فنی، که میتوانید آن را در چندین جای کتاب امنیت برنامههای وب بیابید، این بخش از کتاب را با یک نمای کلی فلسفی آغاز میکنم.
برای بهرهبرداری مؤثر از برنامههای وب، طیف گستردهای از مهارتها مورد نیاز است. از یک سو، یک هکر به دانش پروتکلهای شبکه، تکنیکهای توسعه نرمافزار و آسیبپذیریهای رایج موجود در انواع مختلف برنامهها نیاز دارد. اما از سوی دیگر، هکر باید برنامهای را که هدف قرار داده است نیز درک کند. هرچه این دانش عمیقتر باشد، بهتر و کاربردیتر خواهد بود.
هکر باید هدف برنامه را از منظر عملکردی درک کند. کاربران آن چه کسانی هستند؟ برنامه چگونه درآمدزایی میکند؟ کاربران به چه دلیلی این برنامه را به رقبا ترجیح میدهند؟ رقبا چه کسانی هستند؟ چه قابلیتهایی در برنامه یافت میشود؟
بدون درک عمیق از برنامه هدف از منظر غیرفنی، در واقع دشوار است که تعیین کنیم چه دادهها و قابلیتهایی اهمیت دارند. به عنوان مثال، یک برنامه وب که برای فروش خودرو استفاده میشود، ممکن است ذخیرهسازی اشیائی که نماینده خودروهای فروشی هستند (قیمت، موجودی و غیره) را دادهای حیاتی در نظر بگیرد. اما یک وبسایت سرگرمی که علاقهمندان به خودرو میتوانند تغییرات انجام شده روی خودروهای خود را پست و به اشتراک بگذارند، ممکن است حسابهای کاربری را ارزشمندتر از موجودی فهرست شده در پروفایل کاربر بداند.
همین امر در مورد قابلیتها نیز صادق است، نه فقط دادهها. بسیاری از برنامههای وب ...

مقدمهای بر شناسایی برنامههای وب
Information Gathering • Web Application Mapping • Summary
درحال تولید...

ساختار یک برنامه وب مدرن
Modern Versus Legacy Web Applications • REST APIs • JavaScript Object Notation • JavaScript • Variables and Scope • Functions • Context • Prototypal Inheritance • Asynchrony • Browser DOM • SPA Frameworks • Authentication and Authorization Systems • Authentication • Authorization • Web Servers • Server-Side Databases • Client-Side Data Stores • GraphQL • Version Control Systems • CDN/Cache • Summary
درحال تولید...

یافتن زیردامنهها
Multiple Applications per Domain • The Browser’s Built-In Network Analysis Tools • Taking Advantage of Public Records • Search Engine Caches • Accidental Archives • Social Snapshots • Zone Transfer Attacks • Brute Forcing Subdomains • Dictionary Attacks • Summary
درحال تولید...

تحلیل API
Endpoint Discovery • Authentication Mechanisms • Endpoint Shapes • Common Shapes • Application-Specific Shapes • Summary
درحال تولید...

شناسایی وابستگیهای شخص ثالث
Detecting Client-Side Frameworks • Detecting SPA Frameworks • Detecting JavaScript Libraries • Detecting CSS Libraries • Detecting Server-Side Frameworks • Header Detection • Default Error Messages and 404 Pages • Database Detection • Summary
درحال تولید...

شناسایی نقاط ضعف در معماری برنامه
Secure Versus Insecure Architecture Signals • Multiple Layers of Security • Adoption and Reinvention • Summary
درحال تولید...

خلاصه بخش اول
درحال تولید...
در بخش اول این کتاب، ما تعدادی روش برای بررسی و مستندسازی ساختار و عملکرد یک برنامه وب را کاوش کردیم. ما روشهای یافتن APIها روی یک سرور را ارزیابی کردیم، از جمله آنهایی که روی زیردامنهها به جای فقط دامنه سطح بالا وجود دارند. ما روشهای شمارش نقاط پایانی (endpoints) که این APIها ارائه میدهند و افعال HTTP که میپذیرند را بررسی کردیم.
پس از ساختن نقشهای از زیردامنهها، APIها و افعال HTTP، به بررسی روشهایی برای تعیین نوع درخواست و پاسخهایی که توسط هر نقطه پایانی پذیرفته میشوند، پرداختیم. ما این موضوع را از یک زاویه عمومی و همچنین با بررسی روشهای یافتن مشخصات باز که ما را سریعتر به ساختار بار داده (payload) هدایت میکنند، مورد بررسی قرار دادیم.
پس از بررسی روشهای نقشهبرداری از ساختار API یک برنامه، گفتگویی را در مورد وابستگیهای شخص ثالث آغاز کردیم و روشهای مختلفی برای شناسایی ادغامهای شخص ثالث در یک برنامه شخص اول را ارزیابی کردیم. از این بررسی، یاد گرفتیم که چگونه فریمورکهای SPA، پایگاههای داده و وبسرورها را شناسایی کنیم و تکنیکهای عمومی (مانند اثرانگشتگذاری) را برای شناسایی نسخههای سایر وابستگیها آموختیم.
در نهایت، گفتگوی خود در مورد شناسایی را با بحث در مورد نقصهای معماری که میتواند منجر به عملکرد ضعیف محافظتشده شود، به پایان رساندیم. با ارزیابی چند شکل رایج از معماری ناامن برنامههای وب، بینشی در مورد خطراتی که برنامههای وب با توسعه عجولانه با آن مواجه هستند، به دست آوردیم.
اکنون در بخش دوم، شروع به یادگیری تکنیکهای رایج مورد استفاده توسط ...

مقدمهای بر هک برنامههای وب
The Hacker’s Mindset • Applied Recon
درحال تولید...

اسکریپتنویسی بینسایتی
XSS Discovery and Exploitation • Stored XSS • Reflected XSS • DOM-Based XSS • Mutation-Based XSS • Bypassing Filters • Self-Closing HTML Tags • Protocol-Relative URLs • Malformed Tags • Encoding Escapes • Polyglot Payloads • XSS Sinks and Sources • Summary
درحال تولید...

جعل درخواست بینسایتی
Query Parameter Tampering • Alternate GET Payloads • CSRF Against POST Endpoints • Bypassing CSRF Defenses • Header Validation • Token Pools • Weak Tokens • Content Types • Regex Filter Bypasses • Iframe Payloads • AJAX Payloads • Zero Interaction Forms • Summary
درحال تولید...

موجودیت خارجی XML
XXE Fundamentals • Direct XXE • Indirect XXE • Out-of-Band Data Exfiltration • Account Takeover Workflow • Obtaining System User Data • Obtaining Password Hashes • Cracking Password Hashes • SSH Remote Login • Summary
درحال تولید...

تزریق
SQL Injection • Code Injection • Command Injection • Injection Data Exfiltration Techniques • Data Exfiltration Fundamentals • In-Band Data Exfiltration • Out-of-Band Data Exfiltration • Inferential Data Exfiltration • Bypassing Common Defenses • Summary
درحال تولید...

حمله محرومسازی از سرویس
Regex DoS • Logical DoS Vulnerabilities • Distributed DoS • Advanced DoS • YoYo Attacks • Compression Attacks • Proxy-Based DoS • Summary
درحال تولید...

حمله به دادهها و اشیاء
Mass Assignment • Insecure Direct Object Reference • Serialization Attacks • Web Serialization Explained • Attacking Weak Serialization • Summary
درحال تولید...

حملات سمت کلاینت
Methods of Attacking a Browser Client • Client-Targeted Attacks • Client-Specific Attacks • Advantages of Client-Side Attacks • Prototype Pollution Attacks • Understanding Prototype Pollution • Attacking with Prototype Pollution • Prototype Pollution Archetypes • Clickjacking Attacks • Camera and Microphone Exploit • Creating Clickjacking Exploits • Tabnabbing and Reverse Tabnabbing • Traditional Tabnabbing • Reverse Tabnabbing • Summary
درحال تولید...

بهرهبرداری از وابستگیهای شخص ثالث
Methods of Integration • Branches and Forks • Self-Hosted Application Integrations • Source Code Integration • Package Managers • JavaScript • Java • Other Languages • Common Vulnerabilities and Exposures Database • Summary
درحال تولید...

آسیبپذیریهای منطق کسبوکار
Custom Math Vulnerabilities • Programmed Side Effects • Quasi-Cash Attacks • Vulnerable Standards and Conventions • Exploiting Business Logic Vulnerabilities • Summary
درحال تولید...

خلاصه بخش دوم
درحال تولید...
این بخش پایانی کتاب امنیت برنامههای وب است. با تکیه بر بخشهای اول و دوم، به طور عمیق تحلیل خواهیم کرد که چه چیزهایی در ساخت یک برنامه وب مدرن و فول استک نقش دارند. در هر نقطه از تحلیل خود، خطرات و نگرانیهای امنیتی قابل توجهی را در نظر خواهیم گرفت. پس از بررسی نگرانیهایمان، پیادهسازیهای جایگزین و همچنین روشهای کاهش خطری که ریسک امنیتی را کاهش میدهند، ارزیابی خواهیم کرد.
در طول این فرآیند، شما تکنیکهایی را خواهید آموخت که میتوانید آنها را در چرخه عمر توسعه نرمافزار خود ادغام کنید تا آسیبپذیریهای موجود در کد تولیدی خود را کاهش دهید. این تکنیکها از معماری امن به صورت پیشفرض برنامه، تا اجتناب از الگوهای ضد امنیتی، و تا تکنیک صحیح بازبینی کد با رویکرد امنیتی و اقدامات متقابل برای انواع خاصی از اکسپلویتها را شامل میشوند.
در پایان بخش سوم، شما پایه قوی در شناسایی برنامههای وب، تکنیکهای تست نفوذ تهاجمی و توسعه نرمافزار امن خواهید داشت. در آن مرحله، شما را تشویق میکنم که نکات مورد علاقه خود را در دو بخش اول (اما با زمینه اضافی) دوباره بخوانید یا به کارگیری مهارتهای جدید خود در دنیای واقعی بپردازید.
بیایید ادامه دهیم و شروع به یادگیری در مورد امنیت نرمافزار و مهارتهای مورد نیاز برای ساخت برنامههای وب مقاوم در برابر هکرها کنیم.

ایمنسازی برنامههای وب مدرن
Defensive Software Architecture • Comprehensive Code Reviews • Vulnerability Discovery • Vulnerability Analysis • Vulnerability Management • Regression Testing • Mitigation Strategies • Applied Recon and Offense Techniques • Summary
درحال تولید...

معماری امن برنامه
Analyzing Feature Requirements • Authentication and Authorization • Secure Sockets Layer and Transport Layer Security • Secure Credentials • Hashing Credentials • MFA • PII and Financial Data • Search Engines • Zero Trust Architecture • The History of Zero Trust • Implicit Versus Explicit Trust • Authentication and Authorization • Summary
درحال تولید...

پیکربندی امن برنامه
Content Security Policy • Implementing CSP • CSP Structure • Important Directives • CSP Sources and Source Lists • Strict CSP • Example Secure CSP Policy • Cross-Origin Resource Sharing • Types of CORS Requests • Simple CORS Requests • Preflighted CORS Requests • Implementing CORS • Headers • Strict Transport Security • Cross-Origin-Opener Policy (COOP) • Cross-Origin-Resource-Policy (CORP) • Headers with Security Implications • Legacy Security Headers • Cookies • Creating and Securing Cookies • Testing Cookies • Framing and Sandboxing • Traditional Iframe • Web Workers • Subresource Integrity • Shadow Realms • Summary
درحال تولید...

تجربه کاربری امن
Information Disclosures and Enumeration • Information Disclosures • Enumeration • Secure User Experience Best Practices • Summary
درحال تولید...

مدلسازی تهدید برنامهها
Designing an Effective Threat Model • Threat Modeling by Example • Logic Design • Technical Design • Threat Identification (Threat Actors) • Threat Identification (Attack Vectors) • Identifying Mitigations • Delta Identification • Summary
درحال تولید...

بازبینی کد برای امنیت
How to Start a Code Review • Archetypical Vulnerabilities Versus Business Logic Vulnerabilities • Where to Start a Security Review • Secure-Coding Anti-Patterns • Blocklists • Boilerplate Code • Trust-by-Default • Client/Server Separation • Summary
درحال تولید...

کشف آسیبپذیری
Security Automation • Static Analysis • Dynamic Analysis • Vulnerability Regression Testing • Responsible Disclosure Programs • Bug Bounty Programs • Third-Party Penetration Testing • Summary
درحال تولید...

مدیریت آسیبپذیری
Reproducing Vulnerabilities • Ranking Vulnerability Severity • Common Vulnerability Scoring System • CVSS: Base Scoring • CVSS: Temporal Scoring • CVSS: Environmental Scoring • Advanced Vulnerability Scoring • Beyond Triage and Scoring • Summary
درحال تولید...

دفاع در برابر حملات XSS
Anti-XSS Coding Best Practices • Sanitizing User Input • DOMParser Sink • SVG Sink • Blob Sink • Sanitizing Hyperlinks • HTML Entity Encoding • CSS XSS • Content Security Policy for XSS Prevention • Script Source • Unsafe Eval and Unsafe Inline • Implementing a CSP • Summary
درحال تولید...

دفاع در برابر حملات CSRF
Header Verification • CSRF Tokens • Anti-CRSF Coding Best Practices • Stateless GET Requests • Application-Wide CSRF Mitigation • Summary
درحال تولید...

دفاع در برابر XXE
Evaluating Other Data Formats • Advanced XXE Risks • Summary
درحال تولید...

دفاع در برابر تزریق
Mitigating SQL Injection • Detecting SQL Injection • Prepared Statements • Database-Specific Defenses • Generic Injection Defenses • Potential Injection Targets • Principle of Least Authority • Allowlisting Commands • Summary
درحال تولید...

دفاع در برابر حملات DoS
Protecting Against Regex DoS • Protecting Against Logical DoS • Protecting Against DDoS • Summary
درحال تولید...

دفاع از دادهها و اشیاء
Defending Against Mass Assignment • Validation and Allowlisting • Data Transfer Objects • Defending Against IDOR • Defending Against Serialization Attacks • Summary
درحال تولید...

دفاع در برابر حملات سمت کلاینت
Defending Against Prototype Pollution • Key Sanitization • Prototype Freezing • Null Prototypes • Defending Against Clickjacking • Frame Ancestors • Framebusting • Defending Against Tabnabbing • Cross-Origin-Opener Policy • Link Blockers • Isolation Policies • Summary
درحال تولید...

ایمنسازی وابستگیهای شخص ثالث
Evaluating Dependency Trees • Modeling a Dependency Tree • Dependency Trees in the Real World • Automated Evaluation • Secure Integration Techniques • Separation of Concerns • Secure Package Management • Summary
درحال تولید...

کاهش آسیبپذیریهای منطق کسبوکار
Architecture-Level Mitigations • Statistical Modeling • Modeling Inputs • Modeling Actions • Model Development • Model Analysis • Summary
درحال تولید...

خلاصه بخش سوم
درحال تولید...
37 فصل در حال تولید
مدت زمان خوانش
11:10
نوع کتاب
اشتراکی
شرکت کنندگان
0 نفر
تولید کتاب
۲ مهر ۱۴۰۵