forked from WebGoat/WebGoat
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
40 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 0 additions & 9 deletions
9
webgoat-lessons/csrf/src/main/resources/lessonPlans/en/CSRF_Basic_Get.adoc
This file was deleted.
Oops, something went wrong.
20 changes: 20 additions & 0 deletions
20
webgoat-lessons/csrf/src/main/resources/lessonPlans/en/CSRF_Impact_Defense.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
== CSRF Impact | ||
|
||
The impact is limited only by what the logged in user can do (if the site/function/action is not protected properly). | ||
The areas that are really prone to CSRF attacks are IoT devices and 'smart' appliances. Sadly, many consumer-grade routers | ||
have also proven vulnerable to CSRF. | ||
|
||
== CSRF Solution | ||
|
||
Fortunately, many (web) application frameworks now come with built in support to handle CSRF attacks. For example, Spring and | ||
Tomcat have this on by default. As long as you don't turn it off (like it is in WebGoat), you should be safe from CSRF attacks. | ||
|
||
See the following for more information on CSRF protections: | ||
|
||
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet (Prevention/Defense) | ||
|
||
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) (Attack) | ||
|
||
https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CSRF_Prevention_Filter / https://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#CSRF_Prevention_Filter (Tomcat) | ||
|
||
https://docs.spring.io/spring-security/site/docs/current/reference/html/csrf.html |
9 changes: 9 additions & 0 deletions
9
webgoat-lessons/csrf/src/main/resources/lessonPlans/en/CSRF_Reviews.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
== Post a review on someone else's behalf | ||
|
||
The page below simulates a comment/review page. The difference here is that you have to inititate the submission elsewhere as you might | ||
with a CSRF attack and like the previous exercise. It's easier than you think. In most cases, the trickier part is | ||
finding somewhere that you want to execute the CSRF attack. The classic example is account/wire transfers in someone's bank account. | ||
|
||
But we're keepoing it simple here. In this case, you just need to trigger a review submission on behalf of the currently | ||
logged in user. | ||
|
10 changes: 0 additions & 10 deletions
10
webgoat-lessons/csrf/src/main/resources/lessonPlans/en/CSRF_plan.adoc
This file was deleted.
Oops, something went wrong.