まったり技術ブログ

主にWebエンジニア向けのセキュリティ情報

【Python】Selenium側からネットワーク情報を取得する

はじめに 動作環境 取得対象 実装 パフォーマンス情報の取得 ブラウザが読み込むリソースのURLを取得 まとめ 更新履歴 はじめに Selenium側からページが読み込むリソース情報(URL)を取得する方法を紹介します。 言語はPythonを使います。 動作環境 Python 3.…

PHP-FPM RCE(CVE-2019-11043)の攻撃をAWS WAFでブロック

はじめに AWS WAFの設定 文字列マッチの条件を作成 ルールを作成 ACLにルールを追加 攻撃がブロックされることを確認 参考 更新履歴 はじめに 先日、PHP-FPMにRCEの脆弱性(CVE-2019-11043)があることが公表されました。 脆弱性の詳細について本記事で説明し…

Laravelで学ぶ「安全でないデシリアライゼーション」

はじめに 環境 事前知識 1つのPHPファイルでやってみる なぜOSコマンドが実行されたのか なにが問題なのか Laravel でやってみる 修正内容 脆弱性の確認 OSコマンド呼び出し部分の確認 Illuminate/Broadcasting/PendingBroadcast クラス Faker/Generator ク…

【セキュリティ】motikan2010作サイト『オープンハニーポット』とは

はじめに どのようなサイト? 各画面の説明 トップ リクエスト一覧 リクエスト詳細 時間別アクセス数 日別アクセス数 ログイン画面 今後 参考 更新履歴 はじめに 前回のブログ更新から1ヶ月以上経ち、たまには更新をしないといけないと思ったので最近私が作…

OWASP Security Shepherdで入門するWebセキュリティ

「OWASP Security Shepherd」はWebセキュリティを学ぶことができるアプリケーションです。 Webフレームワークを用いた場合にでも発生する可能性が高い脆弱性が主に取り上げられており、実際にそのような脆弱性に攻撃する経験をすることができます。 Webフレ…

CVE-2019-11581 - 「Atlassian JIRA サーバーサイド・テンプレート・インジェクション」について調べてみた

プロジェクト管理ツールとし有名なJira Serverの脆弱性が見つかりました。 脆弱性を含んでいるバージョンを利用しているかつ、特定の設定を有効にしている場合に、未ログインユーザでも「サーバーサイド・テンプレート・インジェクション(server-side templa…

最悪の管理画面URLランキング

はじめに 確認したツール 最悪な管理画面URLランキング 1位 - 全てのツールで検索対象 2位 - 5つのツールで検索対象 3位 - 4つのツールで検索対象 4位以下 - 1~3つのツールで検索対象 まとめ 更新履歴 はじめに Webサイトの管理画面が推測されることにより、…

WAF for Nginx「NAXSI」を動的モジュールとして読み込む

NAXSIのロゴ はじめに 環境 導入作業 Nginxインストール リポジトリ追加 インストール NAXSIモジュールをビルド NAXSIモジュールのロード ログファイルの作成 Nginx設定ファイル修正 Nginxの起動 動作確認 不正なリクエストを送信 検出ログ ブロックはしたく…

CookieのSameSite属性で「防げるCSRF」と「防げないCSRF」

CookieのSameSite属性はCSRF対策のために提案されたもので、その属性をCookieに付与するだけでほとんどのサイトの場合はCSRF対策が可能になります。 しかし、SameSite属性の付与が今までのCSRF対策の代わりになり、今まで行ってきたCSRF対策をしなくてよくな…

LaravelのセッションCookieにSameSite属性を付与

はじめに TL;DR 検証環境 SameSite属性とは SameSite属性が付与されるように設定 設定変更 設定前に発行されるCookie情報 対応Laravelバージョンについて 設定ファイルの編集 確認 設定後に発行されるCookie情報 まとめ 参考 はじめに Cookieの属性に「Domai…

【開発日誌】Konva.Transformerのスタイル変更

TL;DR ・「Konva.Transformer」コンストラクタの引数を指定することでデザインを変更可能 背景 先日開発したWebアプリケーションでは下画像を見たら分かるようにアンカーをドラッグすることによって画像のサイズ・角度を変えられるようになっています。 ↓そ…

RedshiftのスナップショットをAWS CLIで取得

AWS

やりたかったこと Redshiftで3世代分を残すようなスナップショットの取得方法がやりたかったので、その備忘録。 Bashで実行しています。 実現方法 スナップショットを取得 "aws redshift create-cluster-snapshot"コマンドを使用することで、Redshiftのスナ…

TLS1.2のみ許可しているWebDAVサーバをマウントできない

最近、セキュリティ強化の為にTLS1.1以下の接続を不可にするようなサービスが増えてきている。 勝手にTLS1.2で接続されるだろうとWevDAVクライアントを放置していたが、接続できないという事象が発生した。 検証用WebDAVサーバ GitHub - motikan2010/WebDAV-…

【随時更新】Webセキュリティ診断ツールのまとめ

Webセキュリティ診断ツール比較サイト sectoolmarket.com 目次 Webセキュリティ診断ツール比較サイト 目次 GUIアプリケーション型 Burp Suite OWASP ZAP zap-cli Fiddler Watcher X5S コンソールアプリケーション型 SQLMap NoSQLMap w3af Arachni Scan My Se…

LDAPインジェクションをしたかった話

今更ながらLDAPインジェクションがどのようなものなのかの検証をやってみました。 LDAPインジェクションは脆弱性としてそこそこ有名であり、名前だけは目にすることがあるが、イマイチ実際に検証を行う気になれない脆弱性でもあると思う。特にLDAPの環境構築…

【AWS】ECSで構築した環境でオートスケーリング

「Docker(コンテナ) = 開発環境の構築に便利」という認識で止まっていましたが、最近では本番環境での利用のノウハウがネット上でも溜まりつつありますので、実際にどのようにして本番のコンテナ環境の構築・運用を実現しているのかを調べてみました。 独…

【AWS】Security-JAWSの資料まとめ【第5~9回】

講演資料・スライド 第9回 ◆ 【SecurityJAWS】Kibana Canvasで魅せる!AWS環境における脅威分析ユースケース 【SecurityJAWS】Kibana Canvasで魅せる!AWS環境における脅威分析ユースケース from Hibino Hisashi www.slideshare.net ◆ Security JAWS 【第9回…

『生つべ』というサービス作ったので利用技術の紹介

先日、『生つべ』というWebサービス開発しました。リリースをしたのはよいが「完成!」と言えるような状態になるのは、まだまだ時間が掛かりそう。 どのようなサービスなのかを簡単に説明をすると「YouTubeの動画を皆で見ながらチャットしようよ」というもの…

Unityビルド時にAndroidSDKToolsException エラー

Oculus Go向けにUnityプロジェクトをビルドを実施したら下記のようなエラーな出力された。 エラー /Users/admin/unity/OculusGoSample/Temp/StagingArea/AndroidManifest-main.xml:4:16-57 Error: Attribute application@theme value=(@style/UnityThemeSele…

FlameScopeを使ってJavaアプリのパフォーマンス可視化

今回はNetFlixが開発したOSSである「FlameScope』を利用して、Javaアプリケーションのパフォーマンスの可視化をしてみます。 最終的には上記画像のように、一定期間のCPU利用割合をメソッド単位で表示させてみます。 これを利用することで、どのメソッドがボ…

【※修正済み】【Embulk】MySQL から Redshift へのレコードコピーで「改行&タブが消える」

まず、MySQLからRedshiftへのコピーなんて「Amazon Data Pipeline」を利用しろよと思われますが、そんなお金はない(※調べてみるとクソ安かった)。 なので、Embulkを利用して MySQLに格納されているデータをRedshiftへコピーしてみました。 そしてタイトル…

【embulk-input-redshift】大量データでエラーが発生したのでメモ

最近、Embulkを使い始めましたが、想像していたよりも便利でした。データ量によってはエラーも発生するみたいでしたので、メモ程度に書き留めておく。 github.com Redshift上のデータをCSVファイルとして保存したり、その逆で、CSVファイルに記載されてるデ…

XSSI(Cross-Site Script Inclusion)攻撃とは

はじめに 攻撃名からの勝手な予想(※誤り) 結局何ができるのか Same-Origin Policyを確認 XSSIは結局何ができるのか 脆弱性が存在するサイト(bank.example.jp) トップページ(index.php) シークレットコードを生成し、JSONPを活用(userdata.php) 攻撃者…

Burp Suite拡張プラグイン作成入門 その4 - リクエスト送信 編

今回は拡張プラグイン内からリクエストを送信し、レスポンス内容の表示までできるようにします。 具体的には、プロキシ等でキャプチャしたIHttpRequestResponseクラス内に定義されているリクエストを再送します。 完成物 機能としては、送信ボタンを押下する…

Burp Suite拡張プラグイン作成入門 その3 - 新規UI(タブ)追加 編

今回はBurp Suiteに新規タブ(画面)を追加していきます。 画面を追加することによって、複雑な機能を追加させることが可能になります。 完成物 「Alerts」タブの右側に新規に「Sample Tab Extender」という名前のタブが追加されているのが確認できます。 画像…

Burp Suite拡張プラグイン作成入門 その2 - リクエスト&レスポンス取得 編

前回に引き続き、今回はBurp Suiteの機能を活かした拡張プラグインを作成していきます。 blog.motikan2010.com 完成物 今回作成するプラグインは下記のようなものになります。 まだ実用するには程遠いですが、Burp Suiteの特徴的な機能である 「リクエスト&…

Burp Suite拡張プラグイン作成入門 その1 - Hello world編

Webアプリケーションのセキュリティを診断するツールとして、Burp Suiteが代表の1つとしてあり、拡張プラグインに頼らなくても標準の機能で多種類の診断を行うことができるほど多機能です。 しかし、Webアプリケーションによっては遷移方法が特殊な場合があ…

【THE 備忘録】Burp Suiteを使ってHTTPSサイトにアクセス

証明書のインポート毎に忘却しており、証明書探しの旅に出てしまっているので「THE 備忘録」 やること Burp SuiteのSSL証明書をFirefoxにインポート 使ったブラウザ Firefox : 57.0.4 手順 初期状態だと証明書エラー

【Java】GsonとJacksonのJSONパース処理速度を比べてみる

はじめに 比べるライブラリは下記の2種類 Gson Jackson 下記のパターン(特徴)で比較 処理速度の計測方法 "Gson"を使ったJSON文字列の作成・解析 "Jackson"を使ったJSON文字列の作成・解析 ノーマル インスタンス → JSON JSON → インスタンス 特徴 : Date型…

【JavaFX】レイアウトを使ってみる

説明するレイアウト一覧 コピペで実行する場合の注意点 各レイアウトの説明 VBox クラス HBox クラス FlowPane クラス HBox クラスとの違い HBox クラス FlowPane クラス BorderPane クラス GridPane クラス TilePane クラス StackPane クラス 更新履歴 説明…