2015-02-06 2 views
0

나는 페이지에 연결하고 사용자가 링크를 클릭하면 그의 사용자 이름과 비밀번호가 이미 존재합니다 (많은 사용자가 동일한 자격 증명을 공유합니다). 그러나 내가 어디에 링크를 너무 내가 그 페이지 코드를 제어하지 않습니다.링크하는 페이지에 Javascript를로드하거나 실행할 수 있습니까?

사용자가 링크를 클릭하면 자바 스크립트를 실행할 수 있습니까? 그래서 여기

See my JSfiddle

$("#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; 
}); 

워크 플로입니다. 1. 무작위 사용자가 내 페이지를보고 내 자바 스크립트가로드되고 링크를 클릭합니다. 2. 링크를 통해 코드가 제어되지 않는 다른 페이지로 연결됩니다. 1 단계에서 페이지의 자바 스크립트를 계속 실행하여 사용자 이름과 암호를 자동으로 채울 수 있습니까?

아마도 이걸로 엄청난 양의 악의적 인 작업을 수행 할 수 있기 때문에 (백업 계획은 링크 아래에 사용자 이름과 자격 증명을 표시하기 만하면됩니다. 로그인 할 때 기억해야합니다. iframe)).

이 사이트 간 스크립팅을 가능하게 할 수있는 브라우저가 있습니까? 단 한 페이지 만 있습니까?

+1

아니요 링크를 통해 다른 페이지를 제어 할 수 없습니다. 같은 원산지 정책 – epascarello

+0

인터넷 검색을 시도하십시오. – j08691

+0

감사합니다.이 브라우저 보안 기능이 될 것이라고 생각했습니다 –

답변

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

정말 멋진 아이디어 덕분에! –

관련 문제