
These links are no longer relevant since SANS now just link to CWE, and we already have links to CWEs.
63 lines
1.9 KiB
Plaintext
63 lines
1.9 KiB
Plaintext
include::../description.adoc[]
|
|
|
|
include::../ask-yourself.adoc[]
|
|
|
|
include::../recommended.adoc[]
|
|
|
|
== Sensitive Code Example
|
|
|
|
----
|
|
@RequestMapping("/delete_user") // Sensitive: by default all HTTP methods are allowed
|
|
public String delete1(String username) {
|
|
// state of the application will be changed here
|
|
}
|
|
|
|
@RequestMapping(path = "/delete_user", method = {RequestMethod.GET, RequestMethod.POST}) // Sensitive: both safe and unsafe methods are allowed
|
|
String delete2(@RequestParam("id") String id) {
|
|
// state of the application will be changed here
|
|
}
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
[source,java]
|
|
----
|
|
@RequestMapping("/delete_user", method = RequestMethod.POST) // Compliant
|
|
public String delete1(String username) {
|
|
// state of the application will be changed here
|
|
}
|
|
|
|
@RequestMapping(path = "/delete_user", method = RequestMethod.POST) // Compliant
|
|
String delete2(@RequestParam("id") String id) {
|
|
// state of the application will be changed here
|
|
}
|
|
----
|
|
|
|
== See
|
|
|
|
* https://owasp.org/Top10/A01_2021-Broken_Access_Control/[OWASP Top 10 2021 Category A1] - Broken Access Control
|
|
* https://owasp.org/Top10/A04_2021-Insecure_Design/[OWASP Top 10 2021 Category A4] - Insecure Design
|
|
* https://owasp.org/www-project-top-ten/OWASP_Top_Ten_2017/Top_10-2017_A5-Broken_Access_Control[OWASP Top 10 2017 Category A5] - Broken Access Control
|
|
* https://cwe.mitre.org/data/definitions/352[MITRE, CWE-352] - Cross-Site Request Forgery (CSRF)
|
|
* https://owasp.org/www-community/attacks/csrf[OWASP: Cross-Site Request Forgery]
|
|
* https://docs.spring.io/spring-security/site/docs/5.0.x/reference/html/csrf.html#csrf-use-proper-verbs[Spring Security Official Documentation: Use proper HTTP verbs (CSRF protection)]
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
include::../highlighting.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|