2023-08-01から1ヶ月間の記事一覧

やられアプリ(やられサイト)BadTodo 脆弱性のまとめ

脆弱性診断実習用アプリBadTodoを試し脆弱性をまとめていきます。

やられアプリ BadTodo - 22 A8:2017 - 安全でないデシリアライゼーション

前回:やられアプリ BadTodo - 21 A10:2021-サーバーサイドリクエストフォージェリ(SSRF) - demandosigno シリアライズされたCookieの改変 OWASP Top10 2017 のp.14「安全でないデシリアライゼーション」の項によると、攻撃シナリオの例として「攻撃者はシリ…

やられアプリ BadTodo - 21 A10:2021-サーバーサイドリクエストフォージェリ(SSRF)

前回:やられアプリ BadTodo - 20 A4:2017 - XML外部エンティティ参照 (XXE) - demandosigno SSRF攻撃とは SSRF(Server Side Request Forgery)徹底入門 | 徳丸浩の日記 SSRF 攻撃とは、攻撃者から直接到達できないサーバーに対する攻撃手法の一種です。下図…

やられアプリ BadTodo - 20 A4:2017 - XML外部エンティティ参照 (XXE)

前回:やられアプリ BadTodo - 19 ディレクトリ・リスティング - demandosigno XXE = XML External Entity XMLには外部実体参照という機能があり外部ファイルの内容を取り込むことができます。 細工を施した XML ファイルをインポートすることにより、診断対…

BurpSuiteのDecoderでのハッシュ変換時の文字化けについて

少し前の情報流出事件でパスワードがソルトなしMD5でハッシュ化されていた件が話題になっていたため、ハッシュ関連の勉強をしていました。 いつもは「ハッシュ 変換」などのワードでウェブ検索して、オンラインの変換ツールを使っていたのですが、そういえば…

やられアプリ BadTodo - 4.4 XSS(Todoの削除画面)

前回:やられアプリ BadTodo - 4.3 XSS(ID毎のTodo一覧画面) - demandosigno Todoを削除するときのリクエスト POST /editlist.php のパラメータprocessにXSSがあります。 ZAPでの検出例。 まだ他にもありますので引き続き探していきます。 次回:やられア…

やられアプリ BadTodo - 4.3 XSS(ID毎のTodo一覧画面)

前回:やられアプリ BadTodo - 4.2 XSS(ログイン画面で) - demandosigno 引き続きXSSについて。今回はTodoリストのIDをクリックした際に遷移する「ID毎のTodo一覧画面」について。 パラメータidにXSSがあります。 https://todo.example.jp/todolist.php?id…

やられアプリ BadTodo - 4.7 XSS 対策方法(エスケープ処理)

前回:やられアプリ BadTodo - 4.6 XSS パスワード変更ページ - demandosigno やはり「安全なウェブサイトの作り方 - 1.5 クロスサイト・スクリプティング | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構」の「対策について」が規範となります。 …

やられアプリ BadTodo - 4.2 XSS(ログイン画面で)

前回:やられアプリ BadTodo - 4.1.1 XSS 対策方法(HttpOnly属性の付与) - demandosigno ログインページでのXSS(Docker版 Ver 1.1.0) 実習用仮想マシン(Docker版 Ver 1.1.0) *1ではログイン時のパラメータurlに次のようにスクリプトを仕込むことでXSS…

やられアプリ BadTodo - 19 ディレクトリ・リスティング

前回:やられアプリ BadTodo - 18 クローラへの耐性 - demandosigno 前回で「ウェブ健康診断仕様」を終えたつもりだったのですが、一つ漏れていました。 ディレクトリ・リスティング Webサーバの機能の一つで、末尾が「/」で終わるURLを指定されそこにデフォ…

やられアプリ BadTodo - 18 クローラへの耐性

前回:BadTodo - 17 認証(パスワードの強度・ログアウト) - demandosigno 「ウェブ健康診断仕様」の最後の項目 p.21「クローラへの耐性」を見ていきます。 インターネットに公開されているホームページは通常の利用者(人間)によるアクセスだけではなく、…

クローラ耐性診断ツール

GitHub - yukisov/web-sindan-crawler: IPA ウェブ健康診断仕様の「クローラへの耐性」を診断するコマンドラインツール IPA ウェブ健康診断仕様の診断項目「(M)クローラへの耐性」の診断を行うコマンドラインツールです。 検索エンジンをはじめとしたWebサイ…

やられアプリ BadTodo - 17 認証(パスワードの強度・ログアウト)

前回:やられアプリ BadTodo - 16 バッファオーバーフロー - demandosigno これまでに「IPA 安全なウェブサイトの作り方 第7版」の11項目を検査してきました。 BadTodoは「ウェブ健康診断仕様」の診断項目も網羅しています。 この内、安全なウェブサイトの作…

やられアプリ BadTodo - 3.6 SQLインジェクション MariaDBのパスワード取得

前回:やられアプリ BadTodo - 3.5 SQLインジェクション 情報の改ざん・追加・削除 - demandosigno MariaDBのバージョンの表示 SELECT @@version; ' UNION SELECT null,null,@@version,null,null,null,null,null,null,null# passwdファイルの表示 SELECT LOA…

やられアプリ BadTodo - 3.5 SQLインジェクション 情報の改ざん・追加・削除

前回:やられアプリ BadTodo - 3.4 SQLインジェクション ID・パスワードの取得 - demandosigno 前提:前回でデータベース「todo」にテーブル名「todos」があり、Todoリスト機能部分はそれを使っていることが分かっています。 todosテーブルのカラム一覧 ' UN…

やられアプリ BadTodo - 3.4 SQLインジェクション ID・パスワードの取得

前回:やられアプリ BadTodo - 3.3 SQLインジェクション DB情報の取得 - demandosigno テーブル一覧の表示 前回、データベースの一覧は次の通りと分かりました。 ・information_schema ・mysql ・sys ・todo ・performance_schema この中でBadTodo自体のデー…

やられアプリ BadTodo - 3.3 SQLインジェクション DB情報の取得

前回:やられアプリ BadTodo - 3.2 SQLインジェクション 非公開情報の漏洩 - demandosigno 深掘り 前回「検索画面」でのSQLインジェクションを試し通常では表示されない非公開のTodoを表示させることができました。 今回はさらにDB内のその他の情報を閲覧で…

やられアプリ BadTodo - 16 バッファオーバーフロー

前回:やられアプリ BadTodo - 15 アクセス制御や認可制御の欠落 - demandosigno 現在のウェブアプリケーションのほとんどはPHPやPerl、Javaなどの直接メモリを操作できない言語を使っており、バッファオーバーフローの脆弱性の影響を受ける可能性は低いとい…

やられアプリ BadTodo - 15 アクセス制御や認可制御の欠落

前回:やられアプリ BadTodo - 14 セッション管理の不備 - demandosigno ウェブサイトには「ユーザ権限」「管理者権限」のように権限分けされているものがあります。しかし管理者権限でしか閲覧できない画面をユーザ権限で閲覧できてしまったり、ユーザ権限…

やられアプリ BadTodo - 14 セッション管理の不備

前回:やられアプリ BadTodo - 13 クリックジャッキング - demandosigno HTTPプロトコルはステートレスで、サーバー側では状態を保持しません。しかしアプリケーションでは状態を保持したい場合があります。典型例としてよく紹介されるのがECサイトの「ショ…

/* -----codeの行番号----- */