まったり技術ブログ

Webエンジニアのセキュリティブログ

2017-01-01から1年間の記事一覧

【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

はじめに 動作確認 サンプルなどでよく見られる"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

事象「phpbrew install」が失敗した yum から libgd をインストール ソースからlibgdをインストール libにシンボリックリンク phpbrewでGDライブラリをインストール 結論から書きますとGDライブラリはyumでインストールすることができなかったので、 ソース…

Bluetoothプロキシ『btproxy』を使う【IoTセキュリティ】

はじめに btproxyをRaspberryPi3に導入 BlueZをインストールする前の下準備 必要パッケージのインストール(※失敗) APTのパッケージリストの更新 再び必要パッケージのインストール BlueZ − インストール btproxy − インストール btproxyを使う 動作確認 通信…

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

PHP

はじめに 通信を発生させずにHTMLを解析 はじめに 「"通信を発生させずにHTMLを解析"をしたい・・・」という要望があったので執筆。 今までPHPでHTML解析するときは「Simple HTML DOM Parser」を利用しており、数年ぶりの利用で使い方を確認していると下記の…

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

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

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

はじめに 構築 プロジェクトの作成 Scaffoldの導入 サービスプロバイダーの追加 scaffoldの実行 ルーティングの設定 データベースの作成 マイグレーション Webアプリケーションへアクセス 認証機能(Auth)の導入 魔法の呪文『make:auth』 認証の確認 認証後の…

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

※本記事で紹介する hey は 2020年8月6日のリリースからアップデートされていません。 はじめに 百聞は一見に如かず「hey」を使う インストール 動作確認(オプションを指定) GETリクエストを送信 POSTリクエストを送信 Basic認証に対応 まとめ 更新履歴 はじ…

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

はじめに 導入 configure 実施 configure 実行(失敗: Python3で動かしたことが原因) configure 実行(2度目の失敗: ev.hが見つからなかった) ヘッダファイル"ev.h"を移動 configure 実行(成功!!) ビルド インストール 「weighttp」コマンドの動作確認 「w…