セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

勉強

Nuxt.js runtimeConfigの値がundefinedになる

あらまし 症状 原因:実行環境にnuxt.config.jsをコピーしていない 参考 あらまし コンテナ化して、docker-composeでnuxtjs製のアプリケーションを実行しようとしています。 その際、nuxtjsの機能であるruntimeConfigを使用して、ランタイムで環境変数を渡そ…

Flask Jinja2 url_for.__globals__ などについて(pyjail)

あらまし 前後のアンダースコア2つ __globals__と__dict__ __globals__ __dict__ テンプレートエンジンとjinja2とFlaskとSSTI url_for.__globals__.current_app.__dict__ その他ペイロードを組み立てるなど 入力をGETクエリなどで受け取る場合 入力をパスで…

Rotten Potato について雑にまとめていく

はじめに Rotten Potatoとは Hot Potato 1. Local NBNS Spoofer 2.Fake WPAD Proxy Server 3. HTTP -> SMB NTLM Relay 補足 Rotten Potato 足掛かり Man-In-The-Middle NTLM Relay and Local Token Negotiation その他 終わりに はじめに Hack The Boxでよう…

html属性とXSSの復習

お題 注意 調査 "のエスケープ 属性間のスペースがなくても動作する 文字が続いている限りスクリプト解釈 余談 XSS問を通じて、HTMLの挙動がよく分かってなかったと思ったので、そこをちょろっとまとめ直しておきます。 お題 とあるXSS問題。 <input type="text" value="" onclick="hoge('「ここに入力文字が入るよ」')" size=20> <input type=submit value="send"><br> <script>function hog</script>…

【Hack The Box】クライアント証明書を作成してごにょごにょ[LaCasaDePapel]

やること・手順 用語・ファイルの説明 手順 参考 クライアント証明書作る当たりが曖昧だったので、簡単に残しておきます。 hacktheboxでLaCasaDePapelというリタイアboxがあるのですが、そこのページがクライアント証明書を要求してくる。ので、クライアント…

yarn.lock integrityが削除される

事象 こんな感じで、他人がコミットしたyarn.lockを使用してyarn installを行うと、integrity行が大量に消えdiffがものすごいことになる。 環境 $ yarn -v 1.16.0 結論 元々yarn1.10系から導入されたもののようで、過去に1.9系でinstallを行うとintegrityが…

Real-World Bug Hunting 読みました

内容 対象読者 その他 内容 HackerOneを中心に、過去のレポートをなぞりながら、どうやってサイトを探索してバグを見つけ出したかを丁寧に説明してくれます。各脆弱性の種類ごとに章が組まれていて、章内では軽く脆弱性の説明と3,4個のレポートとその流れを…

【Swagger3.0】1つのステータスコードに対して複数のレスポンスを定義 (oneOf)

状況 Swaggerで、とあるapiのレスポンスにおいて、「同じステータスコードを返すんだけれど、bodyの内容が違う場合がある」時、SwaggerのoneOfという書き方で対応できます。(swagger3.0以上だったはず) 例 openapi: 3.0.0 ... 省略 ... paths: /hello: get: …

OWASP Juice-Shop 初心者感想

Juice-Shop OWASPから提供されているやられサイト。githubから取ってきて自分で建てて、そこで試せます。答えを見ながらもようやく完走したので、初心者目線で感想を書いてみます。 github.com コンテンツ内容 今まで見つかったライブラリとかの脆弱性がみっ…

【復習回】InterKosenCTF 2019

参考サイト 【web】uploader(warmup) 【web】Temple of Time 【web】Image Extractor シンボリックリンク コマンドインジェクション 【web】Neko Loader 結果 お疲れ様です。今回はweb問だけに絞ってチャレンジしました、が、相変わらず、碌に回答できずに終…

【Mini Hardening】#3.3@FOLIOに参加してきた

Hardeneing とは、与えられた環境を攻撃から護り続け、なるべくサービスを稼働させ続ける事が目的の競技です。調べればいろいろ出てきますが、本戦は8時間に渡って競技をするのに対しこちらは3時間の短縮版となっています。 内容 については、ネタバレ厳禁と…

【RSpec】ActionMailer deliver_now が呼ばれる事をテストする

やりたかった事 HogeMailerがあり、HogeDeliveryのインスタンスメソッド(send_email)内でHogeMailerを使ってメールを飛ばしていました。 私は今HogeDeliveryのモデルテストを書いていたのでsend_emailのテストを書こうとしました。しかし、ActionMailer::Bas…

BadUSB Digispark 日本語キーボード対応

本題 今巷で流行っている「ハッキングラボのそだてかた~ミジンコでもわかるBadUSB~」ですが、読んでわかるようにキーストロークを再現する事によりその手法を成り立たせています。そして、そのライブラリ?はUSキーボードを基準としているため、配列の違う日…

ethereum

きっかけ ブロックチェーンについて調べていたら、無料ツールによるマイニングに興味をそそられたので、とりあえず走らせてみた。運よく、VR系の研究室なのでグラボを積んでるPCがたくさんありました。ラッキー。 ハッシュレート(MH/s) ハッシュレートとは、…

CarrierWave デフォルトの画像を表示する default_url

前置き 下のページで画像をアップロードする機能は実装済み 【Rails】CarrierWaveとrmagickで画像アップロード機能を作る | おすすめのプログラミングスクール比較!最短で上達するなら? 画像が保存されていない場合のデフォルトの画像を呼び出したい defau…

【Ruby On Rails】ネストとガード節

ネストがひどい 下のコードがスマートじゃない。(リダイレクトのパスとかは適当です) # hoge_controller.rb def destroy if target = User.find_by(id: params["id"]) if current_user.unfollow(target) #フォローを外すみたいな動作 flash[:info] = I18n.t(…

【RSpec】before句がdescribeスコープ外にも影響する

環境 RSpec 3.8 ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18] Rails 5.2.2 問題 ひとまずテストする内容だけ列挙して後から中身を実装していこうなんて考えることがあります。そして以下の状況になった時にひとまず走らせてみるかと思うこ…

【RubyOnRails】format.jsが呼ばれない, respond_to内のreturnについて

問題 タイトルがうまくまとめられていませんが、、 非同期による処理をwebページ上で行いたく、js経由でコントローラのupdateアクションを呼ぼうとしています。その途中でsave失敗時などに処理を中断したいなと思いたち、を下の様なコードを書きました。 # h…

ruby チュートリアル 14章メモ

ActiveRecord through n:mの関係を表すのに使用。1:nの関係はhas_manyとbelongs_toで表した。また後者の繋ぎ方であると、直接的な結びつきになるのに対して、throughを使用する場合は、2モデル間にクッションとなるモデルを定義してそこに関係をしまってい…

ruby チュートリアル 13章 メモ

belongs_to 指定したモデルと1対1の関係を持つ。参照元テーブルから参照先テーブルにアクセスする。モデル生成時にuser:referencesをつけるとモデル内に自動生成される。 #app/models/micropost.rb class Micropost < ApplicationRecord belongs_to :user en…

git rebaseのお勉強

読んだもの このページは図解もわかりやすいし、状況も似ていたので、ありがたかった。しかし、最後のrebase -iでコミットをまとめてしまうのは、後で見返す際に良い影響があるとは思えないので微妙だと感じた。 git rebaseを初めて使った際のまとめ - Qiita…

rubyチュートリアル12章 メモ

隠しフィールド form_forを利用したフォーム内に隠しフィールドを設定する。 <%= form_for(@user, url: password_reset_path(params[:id])) do |f| %> <%= render 'shared/error_messages' %> <%= hidden_field_tag :email, @user.email %> <%= f.label :pas…

ruby チュートリアル11章 メモ

ActionMaier Railsに標準で組み込まれている、メールを送信してくれる機能。text形式とhtml形式のテンプレートメールを生成する事ができ、宛先や件名含めコントローラから簡単に生成する事ができる。メイラーの生成は下のコマンド。後ろの二つは追加するメソ…

ruby チュートリアル10章 メモ

form_for(@user)の判定 form_forを利用すると自動で入力フォームとそのsubmit先の設定等を設定し表示できるようにしてくれる。一般にcreateアクションとeditアクション用のフォームは同じform_for(@user)で生成される。このアクションの違いは@user内のnew_r…

ruby チュートリアル9章 メモ

SecureRandom.urlsafe_base64 Ruby標準ライブラリのメソッド。長さ22文字の文字列を生成してくれる。base64文字列なので64の22乘通りあるため、衝突の可能性も限りなく低い。 アクセサ インスタンス変数のゲッターとセッターのこと。rubyのクラスのインスタ…

ruby チュートリアル8章 メモ

セッションとクッキー 混同しがち(自分だけかも、)HTTPはステートレスなプロトコルなので、セッションのような物を実装するには、状態を保存するものが別に必要なる。それの一つがクッキー。クッキーはユーザのブラウザ内に保存される小さなテキスト。一方セ…

ruby チュートリアル7章 メモ

サイトにデバッグ情報表示 下のコードをレイアウトのコードに挿入することで、描画されるページの状態を把握するのに役立つ情報をサイトに表示することができる。if~文は開発環境でのみデバッグ情報を表示するよう指定している。 #app/views/layouts/applica…

ruby チュートリアル6章 メモ

Model データモデルとして扱うデフォルトのデータ構造のことをモデルと呼ぶ。データベースとのやり取りを行うライブラリはActiveRecordで、データオブジェクトの生成・保存・検索のメソッドをもつ。よって、SQL文を書かない。マイグレーション機能はデータの…

ruby チュートリアル5章 メモ

Bootstrap twitter社製作とのこと。webデザインとユーザインターフェースの面で恩恵を受けられる。特に、レスポンシブデザインであるのが強み。スタイルシートはapp/assets/stylesheets/に置くことで、application.cssの一部としてwebのレイアウトに読み込ま…

ruby チュートリアル 4章 メモ

pry テストコードでバックするときに導入しました。確認したいコードの手前にbinding.pryと書くとテストコンソールでブレークできる。そこでpp response.bodyと打てばレスポンスの中身を確認できるので、デバッグにとても便利。ちなみにquitを入力すればテス…