~~~[purchase:5000]
http://www.hmoore.net/oscar999/java_web_security/purchase
~~~
- 空白目錄
- 基本知識
- 數據與指令
- 漏洞掃描
- Coverity Scan
- 常見漏洞與處理措施
- Presentation Topic 1
- Preface
- 常見的軟件缺陷與風險
- 安全漏洞相關概念(CVE,CNA, CWE,CVSS,OWASP)
- Web 安全漏洞發生的原因
- XSS(跨站腳本)攻擊與預防
- CSRF-跨站點請求偽造
- SQL Inject
- 軟件弱點預防之 —— Filesystem path, filename, or URI manipulation - 操控文件系統路徑、文件名或 URI
- Improper Limitation of a Pathname to a Restricted Directory
- 點擊劫持漏洞 Clickjacking
- Java Web安全風險應對
- Concludes
- SQL注入風險與防范措施
- SQL注入類型
- Sample
- XSS - 跨站腳本攻擊
- 寬字節編碼引發的XSS血案
- HTML與JavaScript 的自解碼
- XSS Sample
- XSS 攻擊載荷
- Cross-Site Scripting: 跨站腳本攻擊 XSS
- XSS 與 CSRF
- 參考
- 解決示例
- CSRF-跨站請求偽造
- 基于Servlet 的Java Web項目的CSRF防御概念
- 基于JSP的Java Web項目的CSRF防御示例
- CSRF-跨站點請求偽造
- CSRF(跨站請求偽造)漏洞及解決方法
- Java Web應用CSRF防御攻略
- Spring Boot 項目使用Spring Security防護CSRF攻擊實戰
- 一次基于Coverity 掃描Spring Boot項目的CSRF弱點解決的探索之旅
- Coverity + CSRF
- Spring Boot CSRF攻擊防御
- 文件上傳漏洞
- 敏感信息泄露
- Filesystem path, filename, or URI manipulation -
- PATH_MANIPULATION+Coverity
- 防御方法
- Java漏洞及修復
- Java高風險弱點
- Java 防御XSS攻擊實戰與示例代碼
- Java防御路徑操作(Path Manipulation) 的正確姿勢
- 示例
- 示例2
- Java之路徑操縱解決的誤區
- 結合Coverity掃描Spring Boot項目進行Path Manipulation漏洞修復
- Spring Boot實戰項目之CSRF防御處理
- Java高風險弱點與修復之——SQL injection(SQL注入)
- Very weak password hashing (WEAK_PASSWORD_HASH)
- Insecure SSL/TLS: bad HostnameVerifier (BAD_CERT_VERIFICATION)
- 主機驗證示例1
- Resource Leak
- Java中風險弱點
- Java代碼弱點與修復之——Arguments in wrong order(參數順序錯誤)
- Java代碼弱點與修復之——ORM persistence error(對象關系映射持久錯誤)
- Java代碼弱點與修復之——Logically dead code-邏輯死代碼
- 示例1
- Java代碼弱點與修復之——URL manipulation(URL操縱)
- Java代碼弱點與修復之——Open redirect(開放式重定向)
- Spring項目Open Redirect漏洞解決
- Java代碼弱點與修復之——Dereference null return value(間接引用空返回值)
- Java代碼弱點與修復之——Dereference before null check 非空檢查前間接引用
- Java代碼弱點與修復之——Dereference after null check-空檢查后間接引用
- Java代碼弱點與修復之——Explicit null dereferenced(顯式空間接引用)
- Java非空判斷相關的弱點類型匯總與比較
- Java代碼弱點與修復之——Copy-paste error(復制粘貼錯誤)
- Java代碼弱點與修復之——Suspicious calls to generic collection methods
- Java代碼弱點與修復之——Repeated conditional test(重復的條件測試)
- Java代碼弱點與修復之——Masked Field(掩碼字段)
- Spring Boot項目之偽Masked Field弱點解決
- Java代碼弱點與修復之——STCAL: Static use of type Calendar or DateFormat
- Java代碼弱點與修復之——RC: Questionable use of reference equality rather than calling equals
- Java代碼弱點與修復之——Unintended regular expression(非期望的正則表達式)
- Java代碼弱點與修復之——LI: Unsynchronized Lazy Initialization
- Java代碼弱點與修復之——Risky cryptographic hashing function (RISKY_CRYPTO)
- 加密散列示例
- Java代碼弱點與修復之——INT: Suspicious integer expression
- NP: Null pointer dereference
- SA: Useless self-operation
- Unguarded read
- SWL: Sleep with lock held
- Use of freed resources
- Stray semicolon
- UG: Unsynchronized get method, synchronized set method (FB.UG_SYNC_SET_UNSYNC_GET)
- Identical code for different branches
- RANGE: Range checks
- Infinite Loop
- Missing authorization check
- Java低風險弱點
- Java代碼弱點與修復之——WMI: Inefficient Map Iterator(低效的Map迭代器)
- Java代碼弱點與修復之——Dead local store(本地變量存儲了閑置不用的對象)
- Java代碼弱點與修復之——BC: Bad casts of object references(錯誤的強制類型轉換)
- Java代碼弱點與修復之——'Constant' variable guards dead code
- Java代碼弱點與修復之——DE: Dropped or ignored exception(無視或忽略異常)
- Useless code - 無用的代碼
- Dm: Dubious method used
- 字節轉換
- Java代碼弱點與修復之——Se: Incorrect definition of Serializable class(可序列化類的定義不正確)
- FS: Format string problem
- IM: Questionable integer math
- Information exposure to log file
- Insecure HTTP firewall
- NS: Suspicious use of non-short-circuit boolean operator
- REC: RuntimeException capture
- Resource leak on an exceptional path
- RV: Bad use of return value
- SBSC: String concatenation in loop using + operator
- SIC: Inner class could be made static
- SS: Unread field should be static
- UC: Useless code
- Unnecessary call to org.hibernate.Session.get method
- Unused value
- UPM: Private method is never called
- UrF: Unread field
- UuF: Unused field
- UwF: Unwritten field
- Audit
- Non-constant SQL
- Log injection (LOG_INJECTION)
- 日志漏洞示例1
- 實際場景
- URL
- 模板
- Web漏洞及修復
- Web開發
- 客戶端請求地址
- Medium
- [Web缺陷與修復之]Property access or function call before check for null or undefined
- Bad use of null-like value
- Missing break in switch
- Logically dead code-JavaScript
- Identical code for different branches
- Expression with no effect
- Missing parentheses
- High
- Web之DOM-based cross-site scripting漏洞處理
- Summary
- Web基本知識
- 字符轉義
- 工具
- Java靜態分析工具之——SpogBugs
- FindBugs
- Synopsys Code Sight
- 使用Eclipse +SpotBugs 檢測代碼弱點