자바스크립트 주입 기술_javascript 기술

WBOY
풀어 주다: 2016-05-16 19:12:11
원래의
1305명이 탐색했습니다.

작성자: kostis90gr
번역: Dark Soul [S.S.T]
본 글은 "Hacker Defense" 6월호에 게재되었습니다. 저작권은 "Hacker Defense" 및 스크립트 보안팀에 있습니다. 기사 재인쇄시 감사합니다 :)

본 가이드는 신고용이므로, 불법적인 목적으로 사용시 책임을 지지 않습니다.

사용자가 자바스크립트 인젝션을 사용하여 웹사이트를 닫거나 페이지를 저장할 필요가 없습니다. 브라우저의 주소 표시줄에서 이 작업을 수행할 수 있습니다.

명령의 구문은 다음과 같습니다.

코드 복사
javascrit :alert(#command#)

예를 들어 http://www.example.com 웹사이트에서 경고 상자를 보려면 다음을 수행하세요. 먼저 주소 표시줄에 URL(www.example.com)을 입력하세요. 페이지가 로드되면 URL을 지우고 javascrit:alert("Hello World")를 새 URL로 입력하세요. 이렇게 하면 경고 상자가 표시됩니다. Hello World. 그러나 일부 사람들은 페이지의 거의 모든 내용을 변경하는 데 사용합니다. 예를 들어 웹사이트의 로고 그림이 있다고 가정해 보겠습니다. 브라우저에서 "소스 코드 보기"를 사용하면 다음과 같은 HTML 코드를 찾을 수 있습니다.

코드 복사
>정보 가져오기: hi라는 이름의 사진이 있고 소스 파일은 hello.gif입니다. 이를 bye.jpeg로 변경하여 우리 사이트 http://www.mysite.com에 저장합니다. 이미지는 http://www.mysite.com/bye.jpeg입니다. javascript 삽입을 사용하려면 주소 표시줄에 다음을 입력해야 합니다.

코드 복사
javascript:alert(document.hi.src= "[url]http://www.mysite.com/bye.jpeg"[/url] )

http://www.mysite.com/bye.jpeg라는 툴팁이 표시되며, 그 후에는 이미지가 변경됩니다. 변경 사항은 일시적일 뿐이므로 페이지를 새로 고치거나 다시 입력하면 변경한 내용이 서버의 사이트가 아니라 PC에 있으므로 변경 사항이 손실됩니다.

동일한 방법을 사용하여 변수 값을 보거나 변경할 수 있습니다. 예를 들어 웹사이트에서 다음과 같은 소스 코드를 찾았습니다.

코드 복사


는 변수 a에 테스트를 할당하는 것을 의미합니다.

코드 복사
javascript:alert(a)

를 변경하려면 테스트가 hello로 변경되면 다음을 입력하세요.

코드 복사
javascript:alert(a="hello")

그러나 javascript 삽입은 주로 양식의 속성을 변경하는 데 사용됩니다. 일부 코드:

코드 복사






코드에 있는 someone@somewhere.com의 이메일 주소가 아닌 이메일 주소로 양식을 보내길 원합니다. 이 아이디어는 다음 명령을 사용하여 수행할 수 있습니다.

코드 복사
javascript :alert(document.format.mail.value="[email]me@hacker.com[/email]")

지금쯤이면 제가 항상 레벨별로 이야기한다는 걸 아시겠지만 시작하겠습니다. 큰 것부터 작은 것까지:
1) 문서로 시작
2) 변경하려는 객체의 이름(예: document.hi.src) 또는 해당 객체가 속한 속성 및 재할당(예: document. format.mail.value)
3) 마지막으로 변경하려는 특성으로 끝납니다(예: 소스 경로: document.hi.src 또는 변수 값: document.format.mail.value)
4) 사용 "."로 단어를 구분하세요.
5) 특성 값을 변경하려면 "=" 기호와 새 특성 값을 사용하세요.
*참고: 새 특성 값이 문자열인 경우 묶어야 합니다. 큰따옴표로 묶인 "" (예: document.format.mail.value="me@hacker.com") 이를 변수 값으로 변경하려면 큰따옴표를 사용할 필요가 없습니다." ". 예를 들어, 변수 a의 값을 변수 b의 값과 동일하게 변경하려면 javascript:alert(a=b)를 입력합니다.

그러나 대부분의 페이지에 있는 속성은 이름이 없습니다. 예:

코드 복사





위의 모든 정보를 사용하면 명령은 다음과 같습니다.

코드 복사
javascript:alert(document..mail .value="[email]me@hacker.com[/email]")

이 경우 일련번호를 찾기 위해 모든 양식을 세어야 합니다. 예를 들어 설명하겠습니다:


코드 복사 코드는 다음과 같습니다.











위 코드에서는 3개의 양식을 보았지만 두 번째 양식에만 관심이 있으므로 원하는 양식 번호는 2입니다. 1부터 세기 시작한다는 점을 잊지 마세요. 1, 2, 3, 4...라고 하지만 자바스크립트에서는 0부터 시작합니다. 0, 1, 2, 3... 따라서 실제로는 일련번호 형식이 1입니다. 2가 아닙니다. 일반적으로 양식 일련 번호를 먼저 찾은 다음 하나를 빼야 합니다.

이 일련 번호를 사용하여 명령을 완료합니다.
코드 복사 코드는 다음과 같습니다.
javascript:alert(document.forms[1].mail.value="me@hacker.com")


이렇게 이름 없이 이미지나 링크를 변경할 수 있습니다.
이미지의 경우:
코드 복사 코드는 다음과 같습니다:
javascript:alert(document.images[3].src="#변경하려는 대상 이미지 URL#")

링크:
코드 복사 코드는 다음과 같습니다.
javascript:alert(document.links[0].href="http:/ /www.undug.net/# 변경하려는 대상 링크#")


마지막으로 이 트릭을 사용하여 쿠키를 편집할 수 있습니다.

다음 명령은 Dr_aMado가 작성했습니다. triviasecurity.net에서 가져온 것이지만 사용자가 쿠키를 편집하기 전에 쿠키를 표시하도록 조금 수정했습니다. 주소 표시줄에 쿠키를 복사하기만 하면 됩니다.
복사 code 코드는 다음과 같습니다.
javascript:alert(window.c=functiona(n,v,nv){c=document.cookie;c=c.substring (c.indexOf(n) n.length ,c.length);c=c.substring(1,((c.indexOf(";")>-1)?c.indexOf(";") :c .length));nc=unescape(c ).replace(v,nv);document.cookie=n "=" escape(nc);return unescape(document.cookie);});alert('쿠키는 다음과 같습니다. "' document.cookie '"'); Alert(c(prompt("쿠키 이름:",""),prompt("이 값 변경:",""),prompt("다음:", "")));


마지막으로 우리가 변경한 내용은 사용자 측에서만 적용되었다는 점을 강조하고 싶습니다. 그럼에도 불구하고 이를 사용하여 웹사이트를 PC에 저장한 후 수정하는 것과 같습니다. 예를 들어, 일부 페이지에서는 데이터가 http://www.test.com에서 전송되는 경우 페이지를 스푸핑할 수 있습니다. /form.php를 http://www.test .com/check.php로 변경하면 check.php는 데이터가 http://www.test.com/form.php의 양식에서 전송되는지 감지할 수 있습니다. 자바스크립트 코드로 페이지에 로그인하려는 경우, 이와 같은 몇 가지 트릭을 사용하면 이미지를 변경하지 않고도 이미지를 변경할 수 있습니다. 하지만 여기에 언급된 것보다 더 깊은 수준의 지식을 사용해야 합니다. 🎜>
질문이나 제안사항이 있으시면 이메일을 보내주세요: kostis90gr@gmail.com
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿