やられアプリ 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サイトの「ショ…

やられアプリ BadTodo - 13 クリックジャッキング

前回:やられアプリ BadTodo - 12 メールヘッダ・インジェクション - demandosigno 該当する機能がマウス操作のみで使用可能な場合、細工された外部サイトを閲覧し操作することにより、利用者が誤操作し、意図しない機能を実行させられる可能性があります。 …

やられアプリ BadTodo - 12 メールヘッダ・インジェクション

前回:やられアプリ BadTodo - 11 HTTP ヘッダ・インジェクション - demandosigno ウェブアプリケーションの中には、利用者が入力した商品申し込みやアンケート等の内容を、特定のメールアドレスに送信する機能を持つものがあります。一般に、このメールアド…

やられアプリ BadTodo - 11 HTTP ヘッダ・インジェクション

前回:やられアプリ BadTodo - 10.7 XSSによるCSRF対策の突破 - demandosigno ウェブアプリケーションの中には、リクエストに対して出力する HTTP レスポンスヘッダのフィールド値を、外部から渡されるパラメータの値等を利用して動的に生成するものがありま…

やられアプリ BadTodo - 10.1 CSRF(クロスサイト・リクエスト・フォージェリ)

前回:やられアプリ BadTodo - 9 Server Side Code Injection - PHP Code Injection - demandosigno ログイン機能を設けているウェブサイトにおいて、利用者が外部サイトを経由した悪意のあるリクエストを実行させられてしまう場合、CSRFの脆弱性があること…

やられアプリ BadTodo - 9 Server Side Code Injection - PHP Code Injection

前回:やられアプリ BadTodo - 8.2 OS コマンド・インジェクション(内部でシェルを呼び出す関数) - demandosigno ZAPで検出されたリスク(高)の最後の一つ「Server Side Code Injection - PHP Code Injection」を確認します。 ZAPのリクエスト例。 https:…

やられアプリ BadTodo - 8.2 OS コマンド・インジェクション(内部でシェルを呼び出す関数)

前回:やられアプリ BadTodo - 8.1 OS コマンド・インジェクション(リモートコード実行。CVE-2012-1823) - demandosignoで紹介したように、PHPの exec(), system() などの関数はOSコマンドを呼び出すことができます。多くはシェル経由でコマンドを起動して…

やられアプリ BadTodo - 8.1 OS コマンド・インジェクション(リモートコード実行。CVE-2012-1823)

前回:やられアプリ BadTodo - 7 リモート・ファイルインクルード(RFI) - demandosigno 古いPHPにはリモートからスクリプト実行を許す脆弱性があります。(CVE-2012-1823) OSコマンドがウェブサーバ上で実行され、その結果がウェブブラウザに返されます。 Z…

やられアプリ BadTodo - 7 リモート・ファイルインクルード(RFI)

前回:やられアプリ BadTodo - 6 ディレクトリトラバーサル - demandosigno ZAPの例のアドレスを入力してみます。 https://todo.example.jp/resize.php?path=http%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3DOWASP%2520ZAP&basename=elephant.png&size=64 外部…

やられアプリ BadTodo - 6 ディレクトリトラバーサル

前回:やられアプリ BadTodo - 5 オープンリダイレクト - demandosigno https://todo.example.jp/resize.phpにディレクトリトラバーサルがあるようです。 場所としてはログイン後のマイページにあるアイコン画像のURLとなります。 ZAPの例通りアドレスを入力…

やられアプリ BadTodo - 5 オープンリダイレクト

前回:やられアプリ BadTodo - 4.8 XSS URL属性値に対して - demandosigno 今回はOWASP ZAPで検出されている他の脆弱性を見ていきます。 意図しないリダイレクト(Open redirect) 「ウェブ健康診断」p.15 クエリストリング等に URL を保持している場合に、U…

やられアプリ BadTodo - 4.1 XSS(クロスサイト・スクリプティング)

前回:BadTodo - 3.10 ブラインドSQLインジェクション (Boolean-Based) 練習 - demandosigno 今回はXSSを試してみます。 Bad Todoの検索窓に「test」と入力し、検索ボタンをクリックしてみます。 リクエストはGET /todolist.php?rnd=64b73aa18a681&key=test…

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