LoginSignup
3
0

More than 1 year has passed since last update.

やられサイトで脆弱性診断してみた

Last updated at Posted at 2023-05-06

はじめに

先日、GSX社の認定Webアプリケーション脆弱性診断士を取得したので徳丸先生のやられサイトでアウトプットしてみることにした。

そもそも認定Webアプリケーション脆弱性診断士ってなに?

認定Webアプリケーション脆弱性診断士(Web application Security Testing)は、Webアプリケーション脆弱性診断に取り組むために必要な攻撃技術の知識、診断技術や脆弱性判定の基準などを習得、認定することを目的にしています。
引用元:https://www.gsx.co.jp/services/securitylearning/securist/webappnwsecuritytesting.html

つまり、脆弱性診断士スキルマッププロジェクトが策定した脆弱性診断士(Webアプリケーション)スキルマップ&シラバスの「Silver」 ランクをもとに認定される脆弱性診断士のこと

では、本題

今回は様々な脆弱性が意図的に組みこまれたやられサイトで脆弱性診断してみる

使うやられサイト、資料

  1. サイト
  2. 資料

スタート!

まずは準備

image.png
サイトに入るとまずはこの画面になるので、ログインをする。管理者のTODOリストが表示された
image.png
ログインが正常にできることが確認できたので、ログアウトする

では、始めていこう!

  • SQLインジェクション
  • XSS(クロスサイトスクリプティング)

で今回は見ていく

SQLインジェクション

image.png

1. 検索項目に「'(シングルクォーテーション)を1個いれる」

image.png

その結果、
image.png
脆弱性の有無の判断基準、その詳細は

脆弱性有無の判断基準:エラーになる
詳細:レスポンスに DBMS 等が出力するエラーメッセージ(例:SQLException、Query failed 等)が表示された場合にエラーが発生したと判定します

とあるので、結果を確認するとDBMSにかかわるエラーメッセージが表示されてるのが確認できるので、SQLインジェクションの脆弱性があることがわかる

パターン2もやってみる

2. 「検索キー」と「検索キー'and'a'='a」 の比較

image.png
この状態でログインすると、
image.png
ログインができることが確認できた
脆弱性の有無の判断基準、その詳細は、

脆弱性有無の判断基準:検索キーのみと同じ結果になる
詳細:HTTPステータスコードが一致し、かつレスポンスのdiff(差分)が全体の 6% 未満の場合、同一の結果と判定します。検査対象が検索機能の場合は、検索結果件数が同一の場合にも、同一の結果と判定します。

とあるので、ログイン結果からここでもSQLインジェクションの脆弱性があることがわかった

XSS(クロスサイトスクリプティング)

image.png

1.「'>"><hr>」をいれる(フォームでは半角文字で入れます)

image.png
その結果、
image.png
脆弱性の有無の判断基準、その詳細は、

脆弱性有無の判断基準:エスケープ等されずに出力される
詳細:レスポンスボディーに検査文字列の文字列がエスケープ等されずに出力されると脆弱性ありと判定します。

実際、画面上でもhtmlタグがエスケープされていないので、XSSの脆弱性があることがわかる

どんどんやっていこう

2. 「'>"><script>alert(document.cookie)</script>」を入れる

image.png
その結果、ポップアップが表示された
image.png

レスポンスを確認してみよう(一部文字化けしてるのはご了承ください)
image.png

脆弱性の有無の判断基準は、

脆弱性有無の判断基準:エスケープ等されずに出力される

なので、こちらもscriptタグがエスケープされることなく、レスポンスが返され、その結果scriptタグの内容がそのまま解釈されてしまったので、XSSの脆弱性があると判断できる

終わり

WEBでの脆弱性としてよくあげられる2つの脆弱性を見てみたが、実際に被害を受けると影響度はかなり深刻になる場合が多い。ほかにもいろんな脆弱性が隠されているとのことなので、今後も探していきたい

3
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
3
0