Advertisement
Guest User

Untitled

a guest
Jul 24th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. from burp import IBurpExtender
  2. from burp import ISessionHandlingAction
  3. from burp import IBurpExtenderCallbacks
  4.  
  5. class BurpExtender(IBurpExtender, ISessionHandlingAction):
  6. def registerExtenderCallbacks(self, callbacks):
  7. self._callbacks = callbacks
  8. self._helpers = self._callbacks.getHelpers()
  9. self._callbacks.setExtensionName('CSRF Body Syncro')
  10. self._callbacks.registerSessionHandlingAction(self)
  11. print '[*] CSRF Body Syncro'
  12. def getActionName(self):
  13. return 'CSRF Body Syncro'
  14. def performAction(self, currentRequest, macroItems):
  15. request=currentRequest.getRequest()
  16. request_info=self._helpers.analyzeRequest(request)
  17. body_parameter=self._helpers.getRequestParameter(request,'_csrf')
  18. cookie_parameter=self._helpers.getRequestParameter(request,'CSRF-TOKEN')
  19. if body_parameter and cookie_parameter:
  20. body_value=body_parameter.getValue()
  21. cookie_value=cookie_parameter.getValue()
  22. if not body_value == cookie_value:
  23. print '[+] Updating Body CSRF Token'
  24. new_parameter=self._helpers.buildParameter(body_parameter.getName(), cookie_value, body_parameter.getType())
  25. new_request=self._helpers.updateParameter(request, new_parameter)
  26. currentRequest.setRequest(new_request)
  27. else:
  28. print '[*] Parameters matching - nothing to do'
  29. else:
  30. print '[-] Parameter missing'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement