3

HP fortify scan shows a Xpath Injection issue shows as below

 string repositoryID = Request.QueryString[repositoryIDKey];
 XmlDocument fullTreeviewMarkup = new SafeXmlDocument().LoadDocument(GetTreeViewMarkupFromSessionStore(sourceGuid));     
 XmlNode repositoryNode = fullTreeviewMarkup.SelectSingleNode( String.Format( "/root/TreeViewNode/TreeViewNode[@Value=\"{0}\"]", repositoryID ) );

How to fix this Xpath injection issue . Here repositoryID is System.GUID.How to validate repositoryID is GUID ?

fortifysafeer
  • 43
  • 1
  • 1
  • 5

1 Answers1

1

Since you confirmed that repositoryID is a System.Guid then my edit for you would be the following:

Guid repositoryID;

if(Guid.TryParse(Request.QueryString[repositoryIDKey], out repositoryID))
{
    XmlDocument fullTreeviewMarkup = new SafeXmlDocument().LoadDocument(GetTreeViewMarkupFromSessionStore(sourceGuid));     
    XmlNode repositoryNode = fullTreeviewMarkup.SelectSingleNode( String.Format( "/root/TreeViewNode/TreeViewNode[@Value=\"{0}\"]", repositoryID ) );
}
else
{
    //Send Error
}
Dave3of5
  • 688
  • 5
  • 23