引入方式
Implementation : REALIZATION: This weakness is caused during implementation of an architectural security tactic.
適用平台
程式語言
類別: Not Language-Specific (Undetermined)
常見後果
| 範圍 |
影響 |
可能性 |
| Other | Alter Execution Logic, Unexpected State
注意:By performing actions in an unexpected order, or by omitting steps, an attacker could manipulate the business logic of the product or cause it to enter an invalid state. In some cases, this can also expose resultant weaknesses with security implications. | |
觀察到的案例
| 參考資料 |
描述 |
| Bypass of access/billing restrictions by sending traffic to an unrestricted destination before sending to a restricted destination. |
| Attacker can access portions of a restricted page by canceling out of a dialog. |
| Ticket-tracking system does not enforce a permission setting. |
| Shopping cart does not close a database connection when user restores a previous order, leading to connection exhaustion. |
| Chain: product does not properly handle dropped connections, leading to missing NULL terminator (CWE-170) and segmentation fault. |
| Chain: Authentication bypass by skipping the first startup step as required by the protocol. |
| Chain: File server crashes when sent a "find next" request without an initial "find first." |
| FTP server allows remote attackers to bypass authentication by sending (1) LIST, (2) RETR, (3) STOR, or other commands without performing the required login steps first. |
| FTP server allows remote attackers to list arbitrary directories as root by running the LIST command before logging in. |
偵測方法
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
漏洞對應備注
理由說明 : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
備註 : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
備注
This is different than CWE-696, which focuses on when the
product performs actions in the wrong sequence; this
entry is closely related, but it is focused on ensuring
that the actor performs actions in the correct sequence.
參考資料
REF-795
Business Logic Flaws and Yahoo Games
Jeremiah Grossman.
https://blog.jeremiahgrossman.com/2006/12/business-logic-flaws.html REF-796
Seven Business Logic Flaws That Put Your Website At Risk
Jeremiah Grossman.
https://docplayer.net/10021793-Seven-business-logic-flaws-that-put-your-website-at-risk.html REF-797
Business Logic Flaws
WhiteHat Security.
https://web.archive.org/web/20080720171327/http://www.whitehatsec.com/home/solutions/BL_auction.html REF-806
Insufficient Process Validation
WASC.
http://projects.webappsec.org/w/page/13246943/Insufficient-Process-Validation REF-799
Defying Logic: Theory, Design, and Implementation of Complex Systems for Testing Application Logic
Rafal Los, Prajakta Jagdale.
https://www.slideshare.net/RafalLos/defying-logic-business-logic-testing-with-automation REF-667
Real-Life Example of a 'Business Logic Defect' (Screen Shots!)
Rafal Los.
http://h30501.www3.hp.com/t5/Following-the-White-Rabbit-A/Real-Life-Example-of-a-Business-Logic-Defect-Screen-Shots/ba-p/22581 REF-801
Toward Automated Detection of Logic Vulnerabilities in Web Applications
Viktoria Felmetsger, Ludovico Cavedon, Christopher Kruegel, Giovanni Vigna.
https://www.usenix.org/legacy/events/sec10/tech/full_papers/Felmetsger.pdf REF-802
Designing a Framework Method for Secure Business Application Logic Integrity in e-Commerce Systems
Faisal Nabi.
http://ijns.femto.com.tw/contents/ijns-v12-n1/ijns-2011-v12-n1-p29-41.pdf
提交
| 名稱 |
機構 |
日期 |
發布日期 |
Version |
| CWE Content Team |
MITRE |
2011-03-24 +00:00 |
2011-03-30 +00:00 |
1.12 |
修改記錄
| 名稱 |
機構 |
日期 |
備註 |
| CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
| CWE Content Team |
MITRE |
2011-06-27 +00:00 |
updated Common_Consequences, Observed_Examples, Related_Attack_Patterns, Relationships |
| CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Demonstrative_Examples, Observed_Examples, Relationships |
| CWE Content Team |
MITRE |
2017-11-08 +00:00 |
updated Modes_of_Introduction, References, Relationships |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2021-10-28 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2022-04-28 +00:00 |
updated Demonstrative_Examples |
| CWE Content Team |
MITRE |
2023-01-31 +00:00 |
updated Common_Consequences, Description |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated References, Relationships |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2025-12-11 +00:00 |
updated Applicable_Platforms, Detection_Factors, Relationships, Type, Weakness_Ordinalities |
| CWE Content Team |
MITRE |
2026-10-28 +00:00 |
updated Common_Consequences, Demonstrative_Examples, Description, Dimensions, Relationship_Notes, Relationships, Technical_Nuance |