まったり技術ブログ

主にWebエンジニア向けのセキュリティブログ。たまに開発も

【セキュリティ】LDAPインジェクションをしたかった話

はじめに 検証環境 ホスト コンテナ 構築 OpenLDAP LDAPクライアントアプリケーション 1. アプリケーションの用意 2. コンテナの準備 3. コンテナの実行 動作確認 OpenLDAPの動作確認 予想外の事態発生 脆弱性の検証 正常系の動作確認 脆弱性の確認 ダメな対…

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

はじめに 今回やりたいことのイメージ 構築の流れ この記事で作成するリソース 構築 1. IMA ロールの作成 2. 空のECSクラスタの作成 3. Auto Scaling 起動設定の作成 EC2起動時にECSコンテナインスタンスとして登録する 4. Auto Scaling グループの作成 5. A…

【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.xm…

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

はじめに 検証環境 環境構築 perf インストール FlameScope インストール 検証用Javaアプリケーションの導入 perf-map-agent インストール プロファイリング開始 Javaアプリケーションの起動 Javaアプリケーション用のマッピングファイル(*.map)の作成 プロ…

【※修正済み】【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 - リクエスト送信 編

はじめに 完成物 開発 RequestTableManager.java SampleTab.java まとめ 更新履歴 はじめに 今回は拡張プラグイン内からリクエストを送信し、レスポンス内容の表示までできるようにします。 具体的には、プロキシ等でキャプチャしたIHttpRequestResponseクラ…

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

はじめに 完成のイメージ Burp Suite Extender レイアウト 学ぶこと レイアウト確認用 拡張プラグイン ディレクト構成 BurpExtender.java SampleTab.java 開発 BurpExtender.java SampleTab.java レイアウトの設定 FlowLayout (フローレイアウト) GridLayout…

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

はじめに 完成のイメージ 学ぶこと 実装 ディレクトリ構造 各機能の実装 BurpExtender.java RequestContextMenu.java ResponseContextMenu.java RequestResponseUtils.java 更新履歴 はじめに 前回に引き続き、今回はBurp Suiteの機能を活かした拡張プラグイ…

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

はじめに 拡張プラグインのストア「BApp Store」 開発環境 実装 1. ディレクトリ構造 2. Burp拡張ライブラリ(Burp Extender API)の取得 pom.xml の編集 3. Javaファイルの作成 4. プラグインに名前を付ける 5. 「Output」タブに表示 6. 「Errors」タブに表示…

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

はじめに やること 使ったブラウザ 手順 1. 初期状態だと証明書エラー 2. 証明書のダウンロード 3. インポート済みの証明書一覧を表示 4. ダウンロードした証明書をインポート 5. ダイアログの上部にチェック後、「OK」 6. 証明書がインポートがされたことを…

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

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

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

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

【Java】Specificationインタフェースを利用した副問合せ

はじめに 実装 サンプルテーブル コード ファイル構成 Specification BadUserSpec.java エンティティ(モデル) User.java Tweet.java メタモデル User_.java Tweet_.java リポジトリ UserRepository.java 呼び出し側 DbappApplication.java 発行SQL 更新履…

【PHP】PHPBrewに"intl"拡張をインストール

PHP

2017/11/07 ※追記 こちらのやり方が簡単!! GJ $ phpbrew ext install intl -- --with-icu-dir="$(brew --prefix icu4c)" qiita.com 上記の方法ではできなかったよ。という方が本記事の方法も試してみてもいいかと。 ことの始まり CakePHP3を入れたのだが、…

Zend Framework2をHerokuで動かす

はじめに Zend Framework2 インストール Procfileの作成 Herokuへデプロイ 動作確認 はじめに 最近ZF2をさわり始めたので、メモ程度に書いてみる。 ちなみにHerokuはHTTPS前提なのでFacebookのOAuth認証といったHTTPSが必要となる動作確認で重宝した。 Zend …

Java製HTTPプロキシライブラリ『LittleProxy』入門編

はじめに 準備 動作確認 クライアント → プロキシ 通信(clientToProxyRequest メソッド) HttpRequestオブジェクトに用意されているメソッド HttpContentオブジェクトに用意されているメソッド プロキシ → サーバ 通信(proxyToServerRequest メソッド) プ…

SQLインジェクション体験ツール『SQLI-LABS』で遊ぶ

はじめに 環境構築 インストール データベース設定 データベース・テーブル初期化 動作確認 Less-1 (GET - Error based - Single quotes - String) Less-5 (GET - Double Injection - Single Quotes - String) Less-10 (GET - Blind - Time based - double q…

Sambaの脆弱性〜CVE-2017-7494をやってみる〜

はじめに 環境構築 Sambaのインストール事前準備 Samba(4.5.9)をインストール 外部からの通信許可 動作確認 Sambaアカウントの作成 外部からのSambaへの接続を許可する Sambaを起動 プロセスの確認 Sambaへ接続 PoCを試してみる 攻撃側 Samba側 PoCを実行 攻…

【セキュリティ】jwt-goを使ってみる - その2

はじめに 動作確認 署名アルゴリズムを改ざん ①トークンを取得 ②署名アルゴリズムを"none"に改ざんしてリクエストを送信 トークン発行時「SHA256」、検証には「none」 署名アルゴリズムを"none"に改ざんしてリクエストを送信 おまけ トークン発行時「none」…

【セキュリティ】jwt-goを使ってみる - その1

はじめに main.go 動作確認 サンプルなどでよく見られる"HS256"を使用 ①トークン必要URLにアクセス ②トークンを取得 ③発行されたトークンを送信 ④トークンを改ざんして送信 危険と言われている署名の検証なし"None"を使用 ①トークン必要URLにアクセス ②トー…

【knock】JSON Web Token(JWT)を使ってみる【セキュリティ編】

前回の続きです。 【Rails】JSON Web Token(JWT)を使ってみる - 実装編【knock】 - まったり技術ブログ 今回はJWTのセキュリティにふれてみます。 JWTは危険なのか ユーザによって値が改ざんされる危険性 knockはどうなのか アルゴリズムを「HS256」 ユーザi…

【Rails】JSON Web Token(JWT)を使ってみる - 実装編【knock】

github.com JSON Web Tokenの説明は下記の記事を参照。 qiita.com

【Webセキュリティ】ボタンを重ねない『クリックジャッキング』の話

はじめに 検証 クリックジャッキングを成立させることは難しいのか どこをクリックしてもターゲットとなるボタンを押下させる ターゲットとなるiframeは下記のように記述 divがマウスカーソルに追跡するように記述 はじめに ▼ デモサイト Trap Site 2017年度…

【Go言語】パスワードをハッシュ化(bcrypt)

はじめに 「sessionauth」を使ってのパスワード保存状態 パスワードのハッシュ化 パスワード文字列とハッシュ値を比較 ハッシュ値の生成・比較を1つのコードにまとめる 認証のデモ 出力結果 更新履歴 はじめに 本記事は、 ・bcrypt.GenerateFromPassword ・b…

Webフレームワーク『Gin』を使ってみる

はじめに 実装 1. HTMLテンプレートを呼び出す 1-1. HTMLテンプレート作成 1-2. 動作確認 2. コントローラを作る 2-1. タスク一覧を渡すコントローラ作成 2-2. コントローラの呼び出し 2-3. テンプレートを修正 3. モデルを作成して、DBにタスクを保存する 3…

phpbrewでGDライブラリを入れようとしたらエラーになった

PHP

結論から言いますとGDライブラリはyumでインストールすることができなかったので、 結局ソースからインストールしました。 "phpbrew install"が失敗した phpbrewでGDライブラリを入れようとしたら下記のようなエラーが表示された。 $ phpbrew install 5.6.26…