Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppWorld 2025 edits #127

Merged
merged 5 commits into from
Feb 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified docs/waf2025/images/batch_query.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/burp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/challenge_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/deep_recur.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/dvga_stuck.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/graphiql.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/inql.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/py_term.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/repeater.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/udf_juice_shop_link.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/waf2025/images/waf_log.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/waf2025/module2/lab4.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Apply additional protections against the OWASP Top 10

.. image:: ../images/a3check.png

- Click on **NOT FULLFILLED** next to Evasion Techniques and then click on **Review & Update** at the bottom.
- Mouse over **NOT FULLFILLED** next to Evasion Techniques and click on the checkmark to the right to mark it FULLFILLED. Then click on **Review & Update** at the bottom.

.. NOTE:: Some mitigations can be configrued direction in the OWASP Dashboard like this. Evasion techniques refer to techniques apoplied by hackers to attempt to access resources or evade what would otherwise be identified as an attack.

Expand Down
97 changes: 95 additions & 2 deletions docs/waf2025/module3/lab1.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Lab 1 - Find DVGA Attack Types
---------------------------------------
Lab 1 - Explore DVGA Attack Types and Execute Some Attacks
----------------------------------------------------------
Objective
~~~~~~~~~

Expand All @@ -20,6 +20,7 @@ Connect to the Linux Client

.. image:: ../images/rdp.png

.. NOTE:: you should only need to enter the password, the username should be auto-populated.

Explore DVGA
~~~~~~~~~~~~
Expand All @@ -43,8 +44,100 @@ Explore DVGA
.. NOTE:: Each solution may show a script or just a graphQL payload to use to execute the attack. If it shows a script, you will find a script file matching that attack type in the /graphql directory in the user’s home directory. If the solution shows a GraphQL payload you may choose either the GraphiQL Chrome extension or Burp Suite to execute the attack. After each attack you should review the WAF logs to see the results and which violations triggered. See the “Review Waf Logs” section at the end of Lab 2 for instructions.


Execute an attack via a python script
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


#. Open Terminal on the Linux jump host

#. cd graphql

#. python3 <script name>

.. image:: ../images/py_term.png


Execute an attack using the GraphiQL Chrome extension
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#. Copy the graphQL payload from the Solution

.. image:: ../images/deep_recur.png

2. Open GraphiQL Chrome extension

#. Enter http://dvga.f5appworld.com/graphql into the target field

#. 4. Paste the graphql payload from solution

#. Send the request

.. image:: ../images/graphiql.png



Execute an attack using the Burp Suite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#. Open Burp Suite from the desktop icon

.. image:: ../images/burp.png


2. Click “Next” and “Start Burp”.

#. Go to the “InQL” Burp extension tab.

#. Enter http://dvga.f5appworld.com/graphql in the GraphQL Endpoint field.

#. Click "Analyze"

.. NOTE:: This will run introspection on DVGA and return the entire schema. You should see violations in the WAF logs for this.

6. You should now see a directory for DVGA in the schema folders below.

#. Expand the DVGA folder and the date-specific folder.

#. Select the request type that best matches the attack payload youa re trying to use.

#. In the GraphQL paylod area to the right, right-click and select "Send to Repeater"

.. image:: ../images/inql.png


10. Select the "Repeater" tab

#. Paste the attack paylod from the SOlution into the Request area.

#. Click "Send"

#. Review the response.

.. image:: ../images/repeater.png



Review WAF Logs
~~~~~~~~~~~~~~~

#. In Chrome on the Linux jump host, go to the F5 Advanced WAF shortcut and Login

**user: admin**

**password: f5demos4u!**

2. Navigate to the WAF Request Logs screen

#. Select the request with your most recent attack

#. Review the request and any GRAPHQL violations that may have triggered.

.. image:: ../images/waf_log.png



**Congratulations! You have just completed Module 3**




Expand Down
96 changes: 0 additions & 96 deletions docs/waf2025/module3/lab2.rst

This file was deleted.

2 changes: 1 addition & 1 deletion docs/waf2025/waf2025.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
WAF 2025 - Mitigating App Vulnerabilities with BIG-IP Advanced WAF
WAF 2025 - Mitigating App Vulnerabilities with BIG-IP Advanced WAF 17.1
=================================================================================

BIG-IP Advanced Web Applications Firewall, AWAF, is an incredibly powerful security tool to protect applications. Protecting your apps against critical risks such as the threats listed in the OWASP Top 10, requires comprehensive and consistent security. F5 AWAF technology provides a strategic stop gap against common vulnerabilities like injection and cross-site scripting. In this lab we will look at the OWASP Top 10 Wzard and support for GraphQL.
Expand Down
Loading