196の日記

セキュリティ系の勉強、その他開発メモとか雑談、忘れそうな計算式などを書き溜める場所になっています. githhubはUnity触っていた頃ものがメイン https://github.com/196kakinuma [twitter https://twitter.com/196Ikuchil]

勉強

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を入力すればテス…

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

モデルとか scaffoldで生成したモデルはApplicationRecordクラスを継承している。ApplicationRecordクラスは、Active Recordが提供する基本クラス ActiveRecord::Base を継承している。これによりモデルオブジェクトはデータベースにアクセスできるようにな…

Rubyの勉強メモ

ruby関係の勉強を始めたので個人的なメモとか残していきます。チュートリアルに関してはこちらのサイトを参考にして進めていきます。 Gem ライブラリの事。rubyではGemと呼ぶらしい。railsもgem。gemはグローバルに必要なもの以外はそれぞれのプロジェクトに…

dionaeaのログをちょっと見てみる2

今回は短く、UPnPのログに関して。 UPnP ウィキペディアさんには、Universal Plug and Play (UPnP)は、機器を接続しただけでコンピュータネットワークに参加することを可能にするプロトコルである。機器をコンピュータに接続するだけで利用可能になるPlug an…

最近読んだ記事やスライドまとめ1

www.atmarkit.co.jp powershell難読化の際に、ps1ファイルが実行できない問題で閲覧。Windows10ではデフォルトでスクリプトが実行できないように設定されているとのこと。 CODE BLUE 2016 - 機械学習でWebアプリケーションの脆弱性を見つける方法 from Isao …

dionaeaのログをちょっと見てみる1

初めに ログを見たり、知識なんてものもない人がゆっくりとログを見ていくだけです。間違ってることの方が多いかもですが、こういうことで慣れていかないといつまで経っても進まないので、、とりあえずhttpの通信記録を少し見てみる。 1 /opt/dionaea/var/di…

【感想】セキュリティのためのログ分析入門-サイバー攻撃の痕跡を見つける技術-

ざっくりした感想 発売して割とすぐ購入した書籍でした。この本は技術評論社発行の雑誌の2015年7月に掲載された特集記事を加筆修正して再編集したもので、入門というだけあって本当に入口の部分に触れている感じなので、専門知識が欲しい方はお勧めできない…

PowerShell難読化をだた試しながら読む(2) Binary Pulsarさんの記事

元記事はこちらなので、皆さんはぜひこちらを読んでください。 PowerShell難読化の基礎 (2) – Binary Pulsar ドット記号によるスクリプト実行 ドット記号(.)を使用すると、アンパサンド記号(&)と同じ動きをする。 PS /> $comlet = "Get-Host" PS /> . $comle…

PowerShell難読化をだた試しながら読む(1) Binary Pulsarさんの記事

ただ下の記事を読んで試すだけ。そのうち忘れて終わりそうな、、笑 PowerShell難読化の基礎 (1) – Binary Pulsar はじめに 難読化されたコードは実行中に意味あるコードに変わり、コードを評価する関数で実行する。 JavaScriptやPHPなどでは、eval関数。Powe…

アナライジングマルウェア 5章 カーネルモード(Ring0)で動作するマルウェアの解析

WinDbgはカーネルモードデバッガ。ゲストOSとパイプで繋ぎ、デバッグを行う。今回触れるものは(アナライジング・マルウェア ―フリーツールを使った感染事案対処 (Art Of Reversing) 出版社: オライリージャパン (2010/12/20) ISBN-10: 4873114551)を読んでの…

tokyo western ctf 2018 warmup系 復習(若干WriteUp)

たまたま当日見つけてとりあえず参加してみたctfでした。もちろんビギナーズ以降何もしていなかったので、解けるはずもなく、、simpleAuthだけはなんとかって感じで笑どちらかというと、参加目的はこれから行う復習のためって感じです。他のすごい方のwriteu…

2018 ソフトバンク・テクノロジーさんの5daysインターンシップ~マルウェア解析~

の時にメモとかしていた情報をそのままのっけます。MacDownでメモしてたので、見栄えが若干違うかも。。 ひとまずざっくり感想 5日間は長かったですが短かったようにも思えてけど疲れました。(どれ) 最初は知識だけ増えるかなと思って参加しましたが、収穫と…

アナライジングマルウェア 4章コードインジェクションをするマルウェアの解析 メモ

メモリ操作によって、既存のプロセスに新たな感染動作を追加発生させるテクニック。 DLLとして実装されたマルウェアやオンメモリで動作することを前提としたマルウェアの感染動作をこれから列挙。 コードインジェクションの方法 SetWindowsHookEx Windowsに…

アナライジングマルウェア 3動的解析を妨害するマルウェアの解析 メモ

動的解析(ブラックボックス解析)はマルウェアの挙動を容易に把握することができるが、マルウェアはこうした動的解析を妨げるアンチデバッグ機能を持っている。 動的解析のソフトウェア 仮想化ソフトウェア システムリソース監視ツール Process Monitor, Proc…

アナライジングマルウェア 2.3パックから メモ

パックされたプログラムの特徴 パックされたプログラムは、パック前と同様に問題なく実行されるがファイルサイズが減少する。書籍ではUPXを使用して電卓をパックし、それをLordPEで確認している。パック前には.textや.dataというセクションテーブルが見られ…

PEファイルフォーマットについて

PEファイル Windowsの実装ファイルの形式。exe,dll等 ローダがプログラムをロードするのに必要な情報が格納されたヘッダと、プログラムコードやリソースデータが記録されているセクションで構成されている。 RVA(Relative Virtual Address)相対仮想アドレス …

アナライジングマルウェア 1.8動的解析から〜メモ

動的解析を提供するWebサービス VirusTotal 現在(2018.8)も稼働してました。実際にファイルを投げて結果も帰ってきました。ウィルスの名前や感染動作等を取得できます。 VirusTotal - ウイルス、マルウェア、URL の無料オンライン スキャナー マンハイム大学…

セキュリティコンテストチャレンジブック pwn ASLR回避〜ブルートフォースの誤植

詳しい内容は省略 ASLRが有効だと、libc.so.6のアドレスが不定となり、今までの攻撃手段が使えない。しかし、そのランダム性にも規則性があり特に今回で言えば、8桁中6、5、4桁目のみが変化しています。なので、その範囲でアドレスを決め打ちし、呼び出…

SECCON for beginners 2018 【復習回】

Write upみたいなことだけれど、自分で解いた範囲ではなく他の人のWrite upをみて解いてくので、ご了承を。。初心者の書いた簡単な部分のWrite upはこちら↓ thinline196.hatenablog.com 今回参考にさせていただくのはこちらの凄い方 SECCON Beginners CTF 20…