セキュリティ系の勉強、その他開発メモとか雑談. GithubはUnity触っていた頃ものがメイン Twitterフォローもよろしくです

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があるのですが、そこのページがクライアント証明書を要求してくる。ので、クライアント…

SECCON Beginners CTF 2020 復習回

ctf

Beginner's Stack Beginner's Heap Elementary Stack Tweetstore(おまけ) unzip(おまけ) 最後に 今回は1週間前からPwnを初めて、Pwnだけ解くという参加方法をしました。せっかくなので、残骸を残しておきます。WriteUpとしては他の方の記事の方が優れてい…

【HTB】boxとの接続が切れる

あらまし Hack the Boxの問題を解いている際に、sshなどでboxに繋いでいると時たま制御不能になります。大体4分ぐらい待つと帰ってくる。 そもそもブラウザアクセスもできないので、向こうのboxが落ちたり再起動かかっているのかと思っていた。 解決 openvpn…

ファミコンエミュレータを写経してみるお話7【DMC, SRAM(バッテリーバックアップRAM)】

NES

前回の振り返り 参考にするもの 読み始める前に DMC SRAM(バッテリーRAM) 一区切り 前回 ファミコンエミュレータを写経してみるお話6【ROMの吸い出し、Mapper】 - 196Log 前回の振り返り mapperの対応をメインにカセットが動くように修正を行いました。が、…

ファミコンエミュレータを写経してみるお話6【ROMの吸い出し、Mapper】

NES

やること 参考にするもの 読み始める前に ROMの吸い出し バグの修正 主な修正内容 Mapper3に対応したい Mapper4 積み残し 前回 ファミコンエミュレータを写経してみるお話5【keypad, sound】 - 196Log やること 前回、キーパッドと音の実装を行ったので、ゲ…

ファミコンエミュレータを写経してみるお話5【keypad, sound】

NES

やること 参考にするもの 読み始める前に キーパッド cpuテスト サウンドまわりの実装 矩形波 ノイズ 三角波 まとめ 次回 追記 前回 ファミコンエミュレータを写経してみるお話4【nestest.nesの起動】 - 196Log やること 前回はnestest.nesを起動させ無事画…

ファミコンエミュレータを写経してみるお話4【nestest.nesの起動】

NES

前回は 参考にするもの 読み始める前に デバッグの開始 デバッグの仕方 変更点 opecode, fetch命令の修正 不足分の命令 clear_sprite_hit 起動 次回 前回 ファミコンエミュレータを写経してみるお話3【HelloWorld(sample1.nes)の実行】 - 196Log 前回は sam…

ファミコンエミュレータを写経してみるお話3【HelloWorld(sample1.nes)の実行】

やること 参考にするもの 読み始める前に 修正 ひとまず呼び出そうとしてみる カセットのデータ 描画担当 環境を整える デバッグに関して 次回 前回 ファミコンエミュレータを写経してみるお話2【PPU】 - 196Log やること 前回はPPUの機能を実装しましたが…

ファミコンエミュレータを写経してみるお話2【PPU】

NES

やること 参考にするもの 読み始める前に レジスタ PPU DMA 積み残し 追記 前回 thinline196.hatenablog.com やること 前回は初歩として、CPUの実装を行い、参考サイトを元に一通りの必要と思われる命令を網羅的に実装しました。まだファミコンをエミュレー…

ファミコンエミュレータを写経してみるお話1【CPU】

NES

はじめに モチベーション 参考にするもの 読み始める前に 始めにやること CPUから作り始めてみる 命令を1つずつ実装する 足りないもの レジスタの実装 busの仮実装と初めての命令の実装 LDA系の命令を一通り実装する 全ての命令を網羅する 割り込み系の追加…

Signed Int加算減算のオーバーフロー判定について

はじめに Rustでファミコンのエミュレータを写経していた時のお話です。CPUの実装で加算・減算の命令実装時に、オーバーフローの判定を挟むのですが何やっているのか分からず悩んだので、ここに自分なりの解釈を書いておきます。もっと良い考え方があれば教…

【Docker】docker-entrypoint-initdb.d内ファイルっていつ呼ばれるのよ

タイトル通り 初歩的な内容です。いつ呼ばれるというのは、"タイミング"の話ではなく、"初回起動時"とかそんな感じです。 docker-compose.yml 大体こんな感じの設定でビルドしてます。 #docker-compose.yml version: '3' services: ... db: image: mysql:8.0…

【ngrok.io】特定のIPアドレスとポートでリクエストを受け付ける

ctf

あらまし ContrailCTFにオンタイムで参加できず、writeupを見ながら復習していた時、ngrokなるサイトが紹介されていたのでメモがてら備忘録です。 NoWallForUs という問題のwriteupに使われていました。シナリオとしては競プロサイトで、Cなど任意言語でhell…

【復習回】Archiso Web Challenges 2019

ctf

この記事は 解けなかった問題や違う解法を自分用に残しておくものです。writeupは他の方のをぜひご覧ください。 参考先 aokakes.hatenablog.com Single Page HTML Viewer 2 テキストフィールドにurlを入力して/flagファイルの中身を見る問題です。flagという…

【Swift5】AXIsProcessTrustedWithOptions(_:) アクセシビリティのダイアログ(Window)が表示されない[MacOS]

環境 コード 原因 情報が乗ってないわけではないのですが、日本語のMacOSの解説が少ないので残しておきます。この記事での原因はaddGlobalMonitorForEventsです。 developer.apple.com 環境 xcode Version 11.2.1 (11B500) Apple Swift version 5.1.2 (swift…

【MySQL】VALUESの中に他テーブルの文字を挿入[SQLi]

ctf

想定 下の$paramsの部分が入力になっている。ここで保存した値が、一覧ページに表示される仕様になっている。 INSERT INTO table_name (column_name1, column_name2) VALUES (1, $params) ; スキーマ名をカラムに保存 $params = (select group_concat(schema…

【rails_vue_melt】Vuexを使う&管理

はじめに 階層構造 中身 呼び出す人 大元 countsモジュールの中身 使ってみる はじめに 前回はrails_vue_meltというgemを利用してRailsにvue.jsを導入しました。今回はVuexをいい感じに管理しようと思います。が、もっと良いわけたかがあると思うので、普段…

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個のレポートとその流れを…

【rails_vue_melt】Vue.jsにRailsから上手いことレコードデータを渡す

やりたいこと 前勉強 RailsとVue.jsでデータを上手いこと受け渡す rails_vue_melt rails_vue_meltの導入 動作テスト Railsのレコードを扱う やりたいこと RailsのView側でVue.jsを連携させて、柔軟な処理をやりたい。元々これをやっていたプロダクトを事前に…

【Ghidra】wsock32.dllの関数名解決(Ordinal_N)

環境 ubuntu 18.04 Ghidra 9.1 やること GhidraのAuto Analysisでインポートしたファイルを分析させると、KERNEL32.DLLの関数名はしっかり紐づけてくれるのですが、他のものはうまくできず、Ordinal_(数字)となったりします。ので、これを上手く解決したい。…

【xINTCTF】bus again Writeup - AVTokyo2019

この問題は AVTokyo2019にて会場で同時開催されていた、OSINT系の問題が中心のctfの500点問題です。画像が二枚渡されるので、そこに載っているバス停の緯度経度を調べるというもの。 そもそも こちらのスライドを事前に知っておりました。 Open xINT CTF Bus…

【Rails】Administrateで独自の属性型を定義しReadonly等に対応する

目的 完成系 土台をadministrateより生成する NumberFieldクラス viewの部分 目的 administrateの管理画面での属性の表示を色々といじりたいときに、新しいクラスを作成して、対応する方法です。例えば、readonlyな表示をしたり、ラジオボタンに対応したりな…

復習回 maidakectf2019

ctf

この記事は 自分用です。。 参考 st98.github.io qiita.com qiita.com Kancolle Engine (SQLi) LIKE句にユーザ入力が入る問題でした。(問題ではsqlite3使用とのこと。) ワイルドカードとして、%が0文字以上の任意の文字列、_が任意の1文字を表すので、%をフ…

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

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

【Rails5】Administrateのスタイルシート読込先を変更する

やること 管理画面生成のgemadministrateにてRailsのデフォルトのスタイルシートapplication.cssから、スタイルを読み込ませる方法。そんなに難しいことはしません。 方法 以下のコマンドで_styoesheet.html.erbを生成します。これでadministrateのデフォル…

【Rails】登録内容がユニークでないユーザへの条件別対応

例えば ユーザが電話番号で仮登録をし、認証のためのURLを生成して返す場合、同じ電話番号を使って再度仮登録の内容をPOSTしてくる場合がある。1時間以内に2回送ってくる人は恐らくイタズラに近い可能性があるのでエラーを返すが、それ以降に再度送ってき…

【Rails】コールバックで自分以外のレコードとユニーク判定を行う

解決 レアケースだと思いますが、バリデーションのコールバックでhoge_columnsという属性のユニーク判定をしたい場合です。特に難しいことはなく、下のようにやります。 User.where(hoge_columns:self.hoge_columns).where.not(id: self.id).empty? 本来なら…

OWASP Juice-Shop 初心者感想

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