Structural Modifiers are controls which change how ZAP represents the structure of the application.
The Sites tab show ZAP's representation of the application.
If it is not a good representation of the structure then ZAP will not be able to attack the application effectively.
There are currently 2 types of Structural Modifiers:
Data driven content is a type of Structural Modifier which identifies URL paths that represent data.
In 'traditional' web applications the structure of the application is typically defined by the URL paths and the data is contained in the URL parameters and POST data.
URLs like:
Structural parameters are a type of Structural Modifier which identify parameters that represent application structure instead of user data.
In 'traditional' web applications the structure of the application is typically defined by the URL paths and the data is contained in the URL parameters and POST data.
URLs like:
Great guide, thank you! The link Context and Context Structure page do not seem to work, are they supposed to be links?
In my case, I have
GET:index.cfm
POST:index.cfm
POST:index.cfm(a,b,c)
POST:index.cfm(d,e,f)
as an example. All 4 of those are the same page but the display is different based on the parameters, the search results might be filtered or something.
To add structural parameters i would go to Session Properties > Contexts > 2:My Custom Context > 2: Structure > Add
Type: Structural Parameter
Name: Do i do 1 separate entry for a, for b, for c, for d, for e, for f or do i do two entries such as (a, b, c) and (d, e, f) and what would be the syntax to associate these parameters back to index.cfm in the event that I have another parameter a, b, c on a different page called mailinglist.cfm
Regex: Not applicable to Structural Parameters
I think the names make sense though and this guide helped to clear up any confusions/misconceptions i had about the parameters.
will be represented as one leaf node in the Sites tree:
We then have different leaf nodes representing the different ways the page can be accessed, and we'll attack each one separately.
Does that make sense?
Cheers,
Simon
...
I hope my question is related to above. We would like to derive targets based on SAST scans. The way I do it right now is my own tool - grep for get's in the page content and prepend url. I have to do some manual work to prepare parameters.
Once ZAP, or other tools, are given this content they often make good findings. Or at least I can SQL fuzz the SQL parts. Related a a different post where NetSparkler demos the attack - well sometimes the code makes it so blatant - concatenated input to SQL statement with no casting. Or the fuzz, when you replay in browser
Originally I simply put the URLS in the ForceBrowse list. That visited the pages but without parameters nothing happens.
Would any of the above parameter handling techniques help? Structural modifier or DDC syntax?