Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

Is there any tool to (automatically) find all backend JavaScript entrypoints within a site?

I have to check a site for vulnerabilities in the backend code that validates AJAX parameters and I would like to first generate a list of all addresses that receive AJAX calls.

I am almost certain this can be done with a high probability, as the most common ways to have AJAX are fairly known: XmlHttpRequest, jQuery and other JS libraries; and these are all detectable. So if all other fails, I will probably write something like this myself.

But I would prefer to use an established tool if there is such, since it would probably be both less buggy, and easier.

So, does such a thing exist?

share|improve this question
    
XmlHttpRequest is'nt the only ajax way! –  F. Hauri Feb 2 '13 at 12:22
    
@F.Hauri I do not claim it is, merely that all of them should be easily detectable. –  K.Steff Feb 2 '13 at 12:32
    
From simpe A href=, target=hidden to websocket... You've better to trace connexion (tcp traffic or with a browser tool like firebug) –  F. Hauri Feb 2 '13 at 12:41
add comment

1 Answer

up vote 1 down vote accepted

I recommend reading "Crawling Ajax-driven Web 2.0 Applications". The paper discusses different crawling techniques for Ajax-driven Web application. Through Crawling we try to collect all possible resources from the server for vulnerability assessment. But this is not possible with traditional protocol driven approach for Ajax driven web application. Since traditional approach crawler sends HTTP request and interpret responses but for Ajax-driven web application we require event driven crawling. You can work with Ajax based crawler such as Crawljax

share|improve this answer
2  
Ali fix link for crawljax.com :) Also : youtube.com/watch?v=rYAO94GnBlY –  user1203028 Feb 2 '13 at 11:22
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.