160 likes | 387 Views
Automating Web Testing Beyond OWASP WebScarab Using Python. Brad Causey OWASP Guy IISFA Guy brad.causey@owasp.org. About Brad. Survivalist MMA Local Cop Gun Enthusiast Married with 5 Kids. 2. About Brad. Instructor for 8 years Various Publications Books
E N D
Automating Web Testing Beyond OWASP WebScarab Using Python Brad Causey OWASP Guy IISFA Guy brad.causey@owasp.org
About Brad • Survivalist • MMA • Local Cop • Gun Enthusiast • Married with 5 Kids 2
About Brad • Instructor for 8 years • Various Publications • Books • BBVA Compass Security Analyst • Training videos • OWASP GPC • OWASP Alabama Chapter Lead • IISFA Alabama Chapter Lead 3
Why are we here? • Have the need to Automate tests • Some of these are difficult • Adapt to the app • WebScarab and Python are pretty popular 4
Why WebScarab? • Open Source • Scriptable • Uses text to store data • Cross-Platform • Browser Agnostic 5
WS Configuration and Special Notes • Saved Session Structure • Scripting • http://www.owasp.org/index.php/Scripting_in_WebScarab • import org.owasp.webscarab.model.HttpUrl; import org.owasp.webscarab.model.Request; import org.owasp.webscarab.model.Response; 6
WS Advanced Features • Search • Extensions • Session ID Analysis • XSS • Tagging 7
WS Weaknesses • AJAX • Performance • Output Format • Reporting 8
Why Python? • Open Source Interpreter • Plain Text • Great Support • Cross-Platform • Text Processing 9
A Python Primer • very clear, readable syntax • strong introspection capabilities • intuitive object orientation • natural expression of procedural code • exception-based error handling • very high level dynamic data types • extensive standard libraries • embeddable within applications as a scripting interface 10
Useful Python Libraries • string • Built-in Library • .find • .index • .count 11
Useful Python Libraries • urllib2 • Built-in Library • .urlopen • Encoding • Data (for request) 12
Gluing the two together • WebScarab Files • Python File Reader • WebScarab Storage in-depth 13
Possibilities are endless! • Http Methods testing • Post/Get fuzzing • Cookies? Yes! • importcookielib, urllib2 • http://docs.python.org/library/cookielib.html 14
Demo! http://cdn1.gamepro.com/article_img/gamepro/214635-1.jpg?rand=2487A2F8-E22A-95A8-2C5A303E3847C9A2 15