まったり技術ブログ

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

【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 クラス 更新履歴 説明…

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

Specificationインタフェースを利用した副問合せに関して、あまり情報が見当たらなかったので、メモ程度にφ(・ω・ )。 サンプルテーブル よく見かける 1対多 の関係で説明していきます。 ユーザ テーブル サンプルコード 下記のサンプルコードでは、「同じ内…

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

PHP

2017/11/07 ※追記 こちらのやり方が簡単!! GJ $ phpbrew ext install intl -- --with-icu-dir="$(brew --prefix icu4c)" qiita.com できなかったよ。という方が本記事の方法も試してみてもいいかと。 動作環境 バージョン macOS 10.12.6 PHPBrew 1.22.6 PH…

Zend Framework2をHerokuで動かす

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

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

はじめに 準備 動作確認 clientToProxyRequest メソッド HttpRequestオブジェクトに用意されているメソッド HttpContentオブジェクトに用意されているメソッド proxyToServerRequest メソッド serverToProxyResponse メソッド HttpRequestオブジェクトに用意…

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

はじめに 環境構築 インストール データベース設定 $ vim sql-connections/db-creds.inc データベース・テーブル初期化 動作確認 sqlmapでSQLi Less-1 (GET - Error based - Single quotes - String) Less-5 (GET - Double Injection - Single Quotes - Stri…

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

5月24日に公開された、ファイル共有によく利用されるSambaの脆弱性「CVE-2017-7494」を実際に構築・PoCでの検証を行ってみます。 概要・対策に関しては、下記の記事が参考になる。 CVE-2017-7494 - Red Hat Customer Portal oss.sios.com

【セキュリティ】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

ボタンを重ねない『クリックジャッキング』の話

Trap Site 2017年度に入りましたが、昔ながらのクリックジャッキングの話 『クリックジャッキング』ってなんぞやという方は下の記事が大変解りやすいかと。 blog.tokumaru.org

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

・bcrypt.GenerateFromPassword ・bcrypt.CompareHashAndPassword を使ってみる話です。 Go言語を使ったWeb開発で認証機能を実装したくて調べてみたら、「sessionauth」というパッケージが見つかった。 github.com 認証の有無のセッションを管理してくれるの…

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…

Bluetoothプロキシ『btproxy』を使う

IoTというワードが流行りつつあり、Bluetoothの通信を見てみたいという欲求が出てきたので、Bluetooth通信のプロキシを探してみました。 このキャプチャ技術を応用したら ・Bluetoothデバイス開発のデバッグ ・Bluetoothデバイスに対してのセキュリティ診断 …

『Goutte』を使って文字列からHTML解析

PHP

"通信を発生させずにHTMLを解析"をしたい・・・ 今までPHPでHTML解析するときは「Simple HTML DOM Parser」を利用しており、数年ぶりの利用で使い方を確認しているとこのような記事が。 localdisk.hatenablog.com 「Simple HTML DOM Parser」はパフォーマン…

『Laravel Collective』でのHTML生成を簡単にまとめてみる

はじめに LaravelでRailsの"link_to"のようにHTMLを生成できないのかと思い、探してみたら『Laravel Collective』というものがありました。 導入方法などは下記を参照。 LaravelCollective | HTML v5.3 HTML出力のイメージができないところがありましたので…

『Scaffold』と『Auth』を使ってアプリケーションを作る

PHP製のWebフレームワークである『Laravel』を使って"認証あり"のアプリケーションを作成していきます。 今回はLaravelバージョン5.3系を使います。 プロジェクトの作成 $ laravel new auth_scaffold $ cd auth_scaffold $ php artisan --version Laravel Fr…

golang製ベンチマークツール『hey』を使ってみた

Web界隈では「Apache Bench」「JMeter」などのベンチマークツールが有名ですが、ここではGo言語で開発されたベンチマークツール『hey』を紹介します。 github.com 百聞は一見に如かず「hey」!! 結果は下記ような形式で出力されます。abと比べて非常にシンプ…

Webサーバベンチマークツール『weighttp』をさわってみる

Webサーバのベンチマークツールである"weighttp"のインストール・動作確認までを行っていきます。 私の環境ではPythonのバージョン3がデフォルトして動作しており、それが原因でつまずいた点がありましたので、記載しておきます。 github.com インストール …

キャプチャ認証『SimpleCaptcha2』を使ってみる

今回はBot等に自動認証を許さないために用いられる 「CAPTCHA」をRailsアプリケーションに実装してみます。 ImageMagickあたりでつまずいたので、備忘録感覚にメモ。

『Pythonだけ』でHTTPSサーバ

はじめに HTTPS通信に使用するサーバ証明書の作成 アプリケーションの準備 依存Pythonライブラリのインストール ソースコード 動作確認 ブラウザ curlコマンド 参考 更新履歴 はじめに Secure属性を付与したCookieの取り扱いなど簡単な検証で重宝しています…

【Python】キーボード入力文字列をバイナリデータへ変換

関数inputで入力された値は文字列型として扱われる。 「16進数 → 10進数 → バイナリデータ」の順で変換しています。 import struct def main(): str = input() str_list = str.split(" ") f = open('test.dat', 'wb') for hex in str_list: f.write(struct.p…