2015-02-06 49 views
0

我想链接到一个页面,当用户点击链接时,他的用户名和密码已经在那里(一群用户将共享相同的凭据)。但是,我也链接,我不控制该网页的代码。您可以在您链接的页面上加载或执行Javascript吗?

是否有可能让我的JavaScript执行那里后,用户点击链接?

$("#link").click(function() { 
alert("Handler for .click() called."); 
var username = getCookie("username"); 
    var password = getCookie("password"); 
    var usernameTextBox = document.getElementById("j_username"); 
    var passwordTextBox = document.getElementById("j_password"); 
    usernameTextBox.value = username; 
    passwordTextBox.value = password; 
}); 

See my JSfiddle

所以这里的工作流程。 1.一堆随机用户看到我的页面,我的JavaScript加载,他们点击链接 2.链接带他们到另一个页面,我不控制代码。我可以让第1步中的页面仍然运行以自动填充用户名和密码吗?

我在想这么做,因为你可能会用这个做很多的恶意东西(备份计划是在链接下面显示用户名和凭证,他们将不得不记住它登录(或显示它一个iframe))。

是否有浏览器可以启用此跨站点脚本,但仅限于此页面?

+1

否您无法通过链接控制另一个页面。同源策略 – epascarello 2015-02-06 20:38:40

+0

尝试使用Google搜索XSS。 – j08691 2015-02-06 20:39:16

+0

感谢我认为这将是一个浏览器安全功能 – 2015-02-06 20:39:26

回答

3

您可以将表单从您的页面提交到另一台服务器上的操作。这将绕过目标服务器上的登录表单一起

$("#link").click(function() { 
    var username = getCookie("username"); 
    var password = getCookie("password"); 
    $("<form action='https://simcontrolcenter.wireless.att.com/provision/j_acegi_security_check' method='POST'>" + 
    "<input name='j_username' value='" + username + "'/>" + 
    "<input name='j_password' value='" + password +"'/>" + 
    "</form>" 
).submit() 
+0

真的很酷的想法谢谢! – 2015-02-06 20:55:42

相关问题