前回:やられアプリ BadTodo - 4.1 XSS(クロスサイト・スクリプティング) - demandosigno 前回XSSでCookieを盗みました。 Cookieの属性の1つにHttpOnlyというものがあります。XSSの緩和策として導入されました。この属性はJavaScriptからCookieの参照・更…
前回:やられアプリ BadTodo - 22 安全でないデシリアライゼーション - demandosigno CWE - CWE-434: Unrestricted Upload of File with Dangerous Type (4.12) Todoリストにはファイルをアップロードする機能があります。 これを使いPHPファイルなどをアッ…
前回:やられアプリ BadTodo - 3.6 SQLインジェクション MariaDBのパスワード取得 - demandosigno これまで、主にTodoリスト一覧画面のkeyパラメータに対してSQLインジェクションを試して来ました。 /todolist.php?rnd=64fe3eba0ee01&key=%27+UNION+SELECT+N…
前回:やられアプリ BadTodo - 4.5 XSS マイページ - demandosigno パスワード変更ページ/changepwd.phpのidパラメータにXSSがあります。 https://todo.example.jp/changepwd.php?id=%27%3E%3Cscript%3Ealert(1)%3C/script%3EにアクセスさせることでXSSが発…
前回:やられアプリ BadTodo - 4.4 XSS(Todoの削除) - demandosigno プロフィール画面(マイページ)を開いた際に/profile.phpに続いて流れるリクエスト https://todo.example.jp/resize.php?path=icons&basename=ockeghem.png&size=64のpathとbasenameパ…
前回:やられアプリ BadTodo - 4.3 XSS(根本的解決) - demandosigno Todoリストの編集画面において、URLの欄にjavascript:alert(document.cookie)と記入して保存します。 その後に誰かがそのリンクをクリックするとXSSが発動します。 HTML上は入力値がその…
脆弱性診断実習用アプリBadTodoを試し脆弱性をまとめていきます。
前回:BadTodo - 21 A10:2021-サーバーサイドリクエストフォージェリ(SSRF) - demandosigno シリアライズされたCookieの改変 OWASP Top10 2017 のp.14「安全でないデシリアライゼーション」の項によると、攻撃シナリオの例として「攻撃者はシリアライズされ…
前回:BadTodo - 20 A4:2017 - XML外部エンティティ参照 (XXE) - demandosigno SSRF攻撃とは SSRF(Server Side Request Forgery)徹底入門 | 徳丸浩の日記 SSRF 攻撃とは、攻撃者から直接到達できないサーバーに対する攻撃手法の一種です。下図にSSRF 攻撃の…
前回:やられアプリ BadTodo - 19 ディレクトリ・リスティング - demandosigno XXE = XML External Entity XMLには外部実体参照という機能があり外部ファイルの内容を取り込むことができます。 細工を施した XML ファイルをインポートすることにより、診断対…
少し前の情報流出事件でパスワードがソルトなしMD5でハッシュ化されていた件が話題になっていたため、ハッシュ関連の勉強をしていました。 いつもは「ハッシュ 変換」などのワードでウェブ検索して、オンラインの変換ツールを使っていたのですが、そういえば…
前回:やられアプリ BadTodo - 4.3 XSS(ID毎のTodo一覧画面) - demandosigno Todoを削除するときのリクエスト POST /editlist.php のパラメータprocessにXSSがあります。 ZAPでの検出例。 まだ他にもありますので引き続き探していきます。 次回:やられア…
前回:やられアプリ BadTodo - 4.2 XSS(ログイン画面で) - demandosigno 引き続きXSSについて。今回はTodoリストのIDをクリックした際に遷移する「ID毎のTodo一覧画面」について。 パラメータidにXSSがあります。 https://todo.example.jp/todolist.php?id…
前回:やられアプリ BadTodo - 4.6 XSS パスワード変更ページ - demandosigno やはり「安全なウェブサイトの作り方 - 1.5 クロスサイト・スクリプティング | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構」の「対策について」が規範となります。 …
前回:BadTodo - 4.1.1 XSS 対策方法(HttpOnly属性の付与) - demandosigno ログインページでのXSS(Docker版 Ver 1.1.0) 実習用仮想マシン(Docker版 Ver 1.1.0)ではログイン時のパラメータurlに次のようにスクリプトを仕込むことでXSSが発動しました。 …
前回:やられアプリ BadTodo - 18 クローラへの耐性 - demandosigno 前回で「ウェブ健康診断仕様」を終えたつもりだったのですが、一つ漏れていました。 ディレクトリ・リスティング Webサーバの機能の一つで、末尾が「/」で終わるURLを指定されそこにデフォ…
前回:BadTodo - 17 認証(パスワードの強度・ログアウト) - demandosigno 「ウェブ健康診断仕様」の最後の項目 p.21「クローラへの耐性」を見ていきます。 インターネットに公開されているホームページは通常の利用者(人間)によるアクセスだけではなく、…
GitHub - yukisov/web-sindan-crawler: IPA ウェブ健康診断仕様の「クローラへの耐性」を診断するコマンドラインツール IPA ウェブ健康診断仕様の診断項目「(M)クローラへの耐性」の診断を行うコマンドラインツールです。 検索エンジンをはじめとしたWebサイ…
前回:やられアプリ BadTodo - 16 バッファオーバーフロー - demandosigno これまでに「IPA 安全なウェブサイトの作り方 第7版」の11項目を検査してきました。 BadTodoは「ウェブ健康診断仕様」の診断項目も網羅しています。 この内、安全なウェブサイトの作…
前回:やられアプリ BadTodo - 3.5 SQLインジェクション 情報の改ざん・追加・削除・その他 - demandosigno MariaDBのバージョンの表示 SELECT @@version; ' UNION SELECT null,null,@@version,null,null,null,null,null,null,null# passwdファイルの表示 SE…
前回:やられアプリ BadTodo - 3.4 SQLインジェクション ID・パスワードの取得 - demandosigno 前提:前回でデータベース「todo」にテーブル名「todos」があり、Todoリスト機能部分はそれを使っていることが分かっています。 todosテーブルのカラム一覧 ' UN…
前回:やられアプリ BadTodo - 3.3 SQLインジェクション DB情報の取得 - demandosigno テーブル一覧の表示 前回、データベースの一覧は次の通りと分かりました。 ・information_schema ・mysql ・sys ・todo ・performance_schema この中でBadTodo自体のデー…
前回:やられアプリ BadTodo - 3.2 SQLインジェクション 非公開情報の漏洩 - demandosigno 深掘り 前回「検索画面」でのSQLインジェクションを試し通常では表示されない非公開のTodoを表示させることができました。 今回はさらにDB内のその他の情報を閲覧で…
前回:やられアプリ BadTodo - 15 アクセス制御や認可制御の欠落 - demandosigno 現在のウェブアプリケーションのほとんどはPHPやPerl、Javaなどの直接メモリを操作できない言語を使っており、バッファオーバーフローの脆弱性の影響を受ける可能性は低いとい…
前回:やられアプリ BadTodo - 14 セッション管理の不備 - demandosigno ウェブサイトには「ユーザ権限」「管理者権限」のように権限分けされているものがあります。しかし管理者権限でしか閲覧できない画面をユーザ権限で閲覧できてしまったり、ユーザ権限…
前回:やられアプリ BadTodo - 13 クリックジャッキング - demandosigno HTTPプロトコルはステートレスで、サーバー側では状態を保持しません。しかしアプリケーションでは状態を保持したい場合があります。典型例としてよく紹介されるのがECサイトの「ショ…
前回:やられアプリ BadTodo - 12 メールヘッダ・インジェクション - demandosigno 該当する機能がマウス操作のみで使用可能な場合、細工された外部サイトを閲覧し操作することにより、利用者が誤操作し、意図しない機能を実行させられる可能性があります。 …
前回:やられアプリ BadTodo - 11 HTTP ヘッダ・インジェクション - demandosigno ウェブアプリケーションの中には、利用者が入力した商品申し込みやアンケート等の内容を、特定のメールアドレスに送信する機能を持つものがあります。一般に、このメールアド…
前回:やられアプリ BadTodo - 10 CSRF(クロスサイト・リクエスト・フォージェリ) - demandosigno ウェブアプリケーションの中には、リクエストに対して出力する HTTP レスポンスヘッダのフィールド値を、外部から渡されるパラメータの値等を利用して動的…
前回:やられアプリ BadTodo - 9 Server Side Code Injection - PHP Code Injection - demandosigno ログイン機能を設けているウェブサイトにおいて、利用者が外部サイトを経由した悪意のあるリクエストを実行させられてしまう場合、CSRFの脆弱性があること…