Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A arachni
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 125
    • Issues 125
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 8
    • Merge requests 8
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Arachni - Web Application Security Scanner Framework
  • arachni
  • Issues
  • #517
Closed
Open
Issue created Nov 09, 2014 by Administrator@rootContributor

How can I make Arachni test AJAX "unforms"?

Created by: sitsofe

I've found that Arachni seems to skip over AJAX submitted (un)forms when doing a normal scan. Here's an example:

<?
if ($_POST['choice'] == "XSS") {
        echo $_POST['XSS']; # XSS Time!
} else {
?>
<!DOCTYPE html>
<html>
<head>
<title>Arachni AJAX unform test</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<script type="text/javascript">
function submit() {
        var XHR = new XMLHttpRequest();
        var data = {choice:'XSS', XSS:document.getElementById("XSS").value};
        var FD  = new FormData();

        for(name in data) {
        FD.append(name, data[name]);
        }

        XHR.addEventListener('load', function(event) {
        document.getElementById("xhrresponse").innerHTML = XHR.responseText;
        });
        XHR.open('POST', 'unform.php');
        XHR.send(FD);
}
</script>
<input id="XSS" value="&lt;span style='color:red'&gt;XSS Time!&lt;/span&gt;">
<input type="submit" value="XSS" onclick="submit()">
<div id="xhrresponse"></div>
</body>
</html>
<?
}
?>

Is using Arachni's proxy the only way to get to such "unforms"?

Assignee
Assign to
Time tracking