Codes courts pour la mise à jour du modèle d'examen via l'API REST
Codes courts
L'API REST /jobs/{jobId}/dastconfig/updatescant permet de mettre à jour un paramètre dans les tâches d'examen. La valeur 'scantNodeXpath' indique la variable XPath de la configuration qui doit être mise à jour. Pour plus de convivialité, des codes courts sont fournis pour quelques variables XPath communément utilisées.
La liste suivante indique les codes courts actuellement disponibles pour l'API REST ‘updatescant' dans AppScan Enterprise :
Codes courts | XPath |
---|---|
StartingUrl | //ScanConfiguration/Application/StartingUrls/StartingUrl |
LoginUsername | //ScanConfiguration/UserInput/FormFiller/Group[@LogicalName='InternalAppScanUserName']/Value |
LoginPassword | //ScanConfiguration/UserInput/FormFiller/Group[@LogicalName='InternalAppScanPassword']/Value |
LoginMethod | //ScanConfiguration/SessionManagement/SessionManagementMode |
CustomHeaders | //ScanConfiguration/customHeaders |
AccountLockout | //ScanConfiguration/AdvancedScanOptions/Group [@LogicalName='TestOptions']/Key [@LogicalName='AccountLockoutNumOfAttempts']@Value |
AdditionalDomains | //ScanConfiguration/Application/AdditionalServers |
Exclusions | //ScanConfiguration/ExploreFilters/RequestFilters |
Exemples d'utilisation
Dans ces exemples, scantNodeNewValue est la variable qui peut être modifiée.
Modification de l'URL de départ :
{
"scantNodeXpath":"StartingUrl",
"scantNodeNewValue":"https://urlTest.com"
}
Changement du mot de passe de connexion :
{
"scantNodeXpath":"LoginPassword",
"scantNodeNewValue":"passwordTest", "encryptNodeValue":true
}
Modification des exclusions :
{
"scantNodeXpath":"Exclusions",
"scantNodeNewValue":"<RequestFilter FilterType="Exclude"><Description>Microsoft SharePoint site removal URL</Description><PathPattern><ConfigPattern IsRegularExpression="True"><Pattern>.*/deleteweb.aspx</Pattern></ConfigPattern>
</PathPattern><ParametersPatterns />
</RequestFilter><RequestFilter FilterType="Exclude"><Description>test exclusion</Description><PathPattern><ConfigPattern IsRegularExpression="True"><Pattern>.*/error.aspx</Pattern></ConfigPattern></PathPattern><ParametersPatterns /></RequestFilter>"
}
Remarque : Chaque exclusion comporte une description, un modèle et les modèles de paramètre facultatifs. L'API REST remplace toutes les exclusions existantes configurées. Il est donc nécessaire de fournir la liste complète des exclusions pour chaque ajout. Cette règle est valable pour toutes les mises à jour de toutes les configurations comportant plusieurs valeurs.
Définition d'un en-tête personnalisé :
{
"scantNodeXpath":"CustomHeaders",
"scantNodeNewValue":"<customHeader><Name>Authorization</Name><HeaderValue>Bearer {0}</HeaderValue><ExtractValueFromBodyRegEx>(?i)value\\s*[:|=]\\s*[\"|']([A-Fa-f0-9]{16})[\"|']</ExtractValueFromBodyRegEx><Enabled>True</Enabled><Type>2</Type></customHeader>"
}
Remarque : Dans cet exemple, ExtractValueFromBodyRegEx est une expression régulière qui extrait une valeur du corps de la réponse. Le groupe contenu dans l'expression régulière (valeur entre parenthèses) est inséré dans 'HeaderValue' en tant que Authorization: Bearer <valeur du groupe>
Définition d'une limite de profondeur
{
"scantNodeXpath":"//ScanConfiguration/ExploreFilters/DepthLimit",
"shortcodeXPathValue":false,
"scantNodeNewValue":"25"
}
Remarque : Pour mettre à jour les configurations pour lesquelles aucun code court n'est fourni, ajoutez shortcodeXPathValue:false à json dans le corps de texte.