Golang + Nuxt.js + Kubernetes でWebサービスを作る - その④

Golang + Nuxt.js + Kubernetes でWebサービスを作るシリーズ第四弾。今回はAPIサーバからWHOIS情報を取得し表示するフロントエンド部分をGKEにデプロイする。 フロントエンドのディレクトリに下記Dockerfileを追加 FROM node:lts-alpine WORKDIR /app COPY …

Golang + Nuxt.js + Kubernetes でWebサービスを作る - その③

Golang + Nuxt.js + Kubernetes でWebサービスを作るシリーズ第三弾。今回はAPIサーバからWHOIS情報を取得し表示するフロントエンド部分を実装する。 Nuxt.jsでフロントエンド作ってみる Nuxt.jsでフロントエンドを実装する。 まずは下記コマンドでNuxtのプ…

Golang + Nuxt.js + Kubernetes でWebサービスを作る - その②

Golang + Nuxt.js + Kubernetes でWebサービスを作るシリーズ第二弾。 前の記事 で作成したAPIサーバをGKEのKubernetesクラスタにデプロイする。 まずは安くGKEクラスタを作成しなくてはならない。 しかし安すぎると今度は却ってメモリ量が少なく、これから…

Golang + Nuxt.js + Kubernetes でWebサービスを作る - その①

Golang でAPIサーバを作る Golang + Nuxt.js + Kubernetes でWebサービスを作るシリーズ第一弾。 まずはGolangでシンプルなAPIサーバを作成してみる。 今回はGETリクエストで渡されたドメインのwhois情報を取得するAPIサーバを書く。 APIサーバのソースコー…

Container Registry に自分の作ったDockerイメージをpushする

cloud.google.com プライベートなDockerコンテナレジストリが欲しかったので使ってみた。 gcloudコマンドのセットアップを終える gcloud auth configure-dockerでDocker Registryの認証をする 下記コマンドでビルド済みのイメージ名にタグ付けをする $ docke…

Ingressのヘルスチェックに対応する

tl;dr "/"パスへのHTTPリクエストに対し200ステータスを返すように実装すればよい Ingress のヘルスチェック GKEでIngressを使っていた所ヘルスチェックをうまく通過しない。 色々と調べたところIngressのヘルスチェックはreadinessProbe.httpGetを指定しな…

Practical Binary Analysisの演習用環境をDockerで作った

三行で Practical Binary Analysis はリバースエンジニアリング入門にはうってつけの本 基本的な演習環境はVMで配布されている Dockerで環境を作るときはバージョンを指定しよう 概要 Practical Binary Analysisはモダンなバイナリ解析について学ぶことがで…

minikubeのダウンロードが途中で止まる

問題 タイトル通りminikubeを利用しようとしたところisoファイルのダウンロードで止まってしまう。 環境 macOS上で実行しているminikube v1.0.0 ~ ❯❯❯ uname -a Darwin DoenoMBP 18.2.0 Darwin Kernel Version 18.2.0: Fri Oct 5 19:41:49 PDT 2018; root:xn…

インタプリタを作っている

Go言語でつくるインタプリタを読んでいる。 前々から何かプログラミング言語を作ってみたかったので買ってみた。 まだハッシュマップとかマクロとか実装していないけど一旦紹介。 本の目次 1章 字句解析 2章 構文解析 3章 評価 4章 インタプリタの拡張 付録 …

LeetCode TwoSum をテストしながら解く

LeetCodeという競技プログラミングサービスがある。 まだ始めたばかりなのだがとっつきやすい作りになっていて良い。 そんなLeetCodeの問題 TwoSum を解いてみた。 ただ解いてみたというのも面白くないので今回はテストコードも書きながら解答してみる。 Two…

RPISEC Malware Lab#01 をやった その2

RPISEC/Malwareとはマルウェア解析について体系的に学ぶことができる教材のこと。 今回はその中のLab_01-2.malwareを解析した。 Lab_01-2.malware 1. これのMD5のハッシュ値は何? 02658bc9801f98dfdf167accf57f6a36 2. インポートされた関数やそれらのまと…

RPISEC Malware Lab#01 をやった

RPISEC Malware Lab#01 をやった RPISEC/Malwareとはマルウェア解析について体系的に学ぶことができる教材のこと。 今回はその中のLab_01-1.malwareを解析した。 Lab_01-1.malware 1. このファイルはいつコンパイルされたか答えよ コンパイル時間を確認する…

minikube で OpenFaas を使う

minikube で OpenFaas を使う kubernetes 環境で OpenFaas を使いたくなった。 今回はローカルで試すためにも minikube を用いて OpenFaas をインストールする。 必要なもの kubernetes kubernetesのドキュメントを参照してインストール。 sudo apt-get upda…

Golang で whois 情報を取得する

Golang で whois 情報を取得したい時は github.com これを使うと便利。 シンプルにwhois情報を呼び出せる上に軽いパーサも付いている。下記コマンドでインストール。 go get github.com/undiabler/golang-whois インストール後は下記のようなコードで whois …

10進数表記のIPアドレスでwebサイトにアクセスする

はじめに なんとなくGitHubを漁っていたら面白そうなリポジトリを見つけた。 github.com 内容はIPアドレスを10進数や16進数、8進数に変換してwebサイトにアクセスするというもの。 バラバラの基数でも最終的にIPアドレスっぽくなればアクセスできるみたい。 …

脆弱性ブローカーについて

概要 脆弱性報告について調べていたら脆弱性ブローカーという存在について知りました。 その後、いろいろ調べたまとめです。 脆弱性ブローカーとは 脆弱性ブローカーとは、脆弱性情報を買い取りそれを政府機関や研究機関や金融機関といった組織に転売する業…

GitHub Dorks

エンジニアの方にとって無くてはならない存在と言っても過言ではないGitHub。 今回はそのGitHubについて書いていきます。 本稿は読者のセキュリティを高める目的で書いています。本稿の内容で得た情報を用い自身の管理下にないネットワークやコンピュータへ…

XMPPことはじめ

XMPP(jabber)で連絡をする必要が出てきたので、その時にとった対応を書きます。 環境 $ uname -a Linux mint-vm 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux Pidginのインストール PidginはXMPPを扱える…

keybaseを始めた

久しぶりにメールボックスを開いてみたら招待メールが来ていたので始めた。 ちなみにメールが届いたのは7月20日。 メール開かなすぎだろ俺...アカウントはこちら keybase.ioここに書いてある手順で書くサービスを認証させた。 qiita.comおわり

protostar Stack5 writeup

## はじめに exploit-exercisesのprotostar(https://exploit-exercises.com/protostar/) のStack5を解いたので、そのwriteupを書いていく### Stack5 ソースコード #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { char buffer[6</string.h></stdio.h></unistd.h></stdlib.h>…

protostar stack4 writeup

## はじめに exploit-exercisesのprotostar(https://exploit-exercises.com/protostar/) のStack4を解いたので、そのwriteupを書いていく### Stack4 ソースコード #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> void win() { printf("code flow successfully cha</string.h></stdio.h></unistd.h></stdlib.h>…

protostar stack3 writeup

## はじめに exploit-exercisesのprotostar(https://exploit-exercises.com/protostar/) のStack3を解いたので、そのwriteupを書いていく### Stack3 ソースコードはこんな感じ #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> void win() { printf("code flow succ</string.h></stdio.h></unistd.h></stdlib.h>…

protostar stack 2 writeup

## はじめに exploit-exercisesのprotostar(https://exploit-exercises.com/protostar/) のStack2を解いたので,そのwriteupを書いていく### Stack 2 ソースコードはこんな感じ #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { v</string.h></stdio.h></unistd.h></stdlib.h>…

protostar stack 1 writeup

## はじめに exploit-exercisesのprotostar(https://exploit-exercises.com/protostar/) のStack1を解いたので、そのwriteupを書いていく### Stack 1 ソースコードはこんな感じ #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { </string.h></stdio.h></unistd.h></stdlib.h>…

protostar stack 0 writeup

## はじめに exploit-exercisesのprotostar(https://exploit-exercises.com/protostar/) のStack0を解いたので、そのwriteupを書いていく### Stack 0 ソースコードはこんな感じ #include <stdlib.h> #include <unistd.h> #include <stdio.h> int main(int argc, char **argv) { volatile i</stdio.h></unistd.h></stdlib.h>…

Viperを利用したバイナリ解析

概要 今回はバイナリ解析フレームワークのViperについて書いていく Viperとは Viper(http://viper.li)とはバイナリ解析フレームワークのこと。 バイナリ解析機能の他に解析したバイナリとその情報を管理する機能を持っている。 主にマルウェアやエクスプロイ…

ret2libcをやってみる

ret2pltで関数を実行してみる - メモ代わりでret2pltを使って遊んでみた。 printfでメモリをリークさせるみたいになったのでCTFで出てこないわけでもなさそうだが、どうせならシェルを開きたいものである。 というわけで今回はret2libcでシェルを起動してみ…

ret2pltで関数を実行してみる

簡単なバッファオーバーフローでEIPを奪う - メモ代わりのプログラムでret2pltをしてみる。 環境は前回と同じ。 ret2pltとは ret2pltの前にそもそもpltとは何かというと共有ライブラリのアドレスを書くところだ。 詳しくは下記リンクを参照。 ELFの動的リン…

簡単なバッファオーバーフローでEIPを奪う

EIPを奪うところまでやってみる。 環境 $ uname -a Linux backbox 3.19.0-56-generic #62~14.04.1-Ubuntu SMP Fri Mar 11 11:03:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ gcc --version gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4gdbはpeda入れて使う…