読者です 読者をやめる 読者になる 読者になる

pwn,rop,/bin/sh,shell(),ファイルディスクリプタについて

CTF

・サーバ側でshellを開く
buf += '/bin/sh\x00'

・サーバ側のshellをこちらで開く
buf += '/bin/sh <&4 >&4 2>&4;'
shell()

動的リンク、遅延リンクについて

memo memo-Linux CTF

遅延リンクについて
@plt一行目 : jmp (.got.pltを参照するアドレス)
@plt二行目 : push (.rel.pltの中の書き換えが必要な行数)
@plt三行目 : jmp (.pltセクションの先頭)
.pltセクション一行目 : push (動的リンクの際に必要なパラメータ)
.pltセクション二行目 : jmp (動的リンカのアドレス)

ELFのセクションについて

memo memo-Linux CTF

ELFヘッダ : MagicNumber, bit, エンディアン, CPU, 後続のヘッダへのポインタ
プログラムヘッダ : ローダのための情報。つまりセグメントの情報と動的リンク関係が格納。
.interp : インタープリタのファイルパスが格納
.hash : ハッシュ値とシンボルアドレスのハッシュテーブル。
.dynsym : .hashでハッシュ化されたシンボル名(ハッシュ値)とシンボル情報(シンボルアドレスやシンボル名など)のテーブル。
.dynstr : .dynsymから参照したシンボル名が格納。.dynamicから参照した共有ライブラリのファイル名が格納。
.rel.plt : 動的リンクのために書き換えが必要なアドレス(.plt一行目のアドレス)とシンボル情報のリスト。
.plt : .textから共有ライブラリ内の関数へ飛ぶ際の中継点。
.text : 機械語コードが格納。
.dynamic : 動的リンクに必要な情報が格納。共有ライブラリの名前や.hashのアドレス、.dynstrのアドレス、.dynstrのサイズなどなど。
.got.plt : .plt一行目のjmp先のアドレス(書き換え先アドレス)と共有ライブラリ内の関数のアドレス(書き換えアドレス)のテーブル
.shstrtab : セクション名の文字列リスト。
セクションヘッダ : セクションの情報が格納。

 

vim キー割り当て mapping

memo memo-Linux

ノーマルモード+ビジュアルモード noremap map
コマンドラインモード+インサートモード noremap! map!
ノーマルモード nnoremap nmap
ビジュアル(選択)モード vnoremap vmap
コマンドラインモード cnoremap cmap
インサート(挿入)モード inoremap imap

vimのプラグイン導入方法が書いてあるおすすめのサイト

qiita.com

個人的にここがめちゃくちゃわかりやすかったです。

基本的に、このサイトに書いてあることをvimrcにコピペするだけでできました。

導入コードをvimrcにコピペすることで次回のvim起動でneobundleがインストールされます。

追加でプラグインを入れたい場合は、

neobundle#beginからneobundle#endの間に、

インストールコードをコピペして、再びvimを起動しましょう。

neobundleのエラー対処 : Error detected while processing function ... Can't create file系

memo memo-Linux

neobundleでプラグインをインストールする際、

"Error detected while processing function ..."

"[neobundle] Vim(return):E482: Can't create file /home/miya/.vim/bundle/.neobundle/doc/screenshot.gif"

といったような、Can't create file系のエラーが多発することがある。

これは、そのエラーが出たパスをchownでrootから一般ユーザーに変更してやることで対処できる。

"sudo vim" is detected. This feature is disabled.

neobundle memo memo-Linux

どうやらneobundleでなんらかのプラグインをインストールする際には、rootでやってはいけないらしい。

exitしてsudoをつけずにインストールしよう。

 このエラーとセットで出ることが多いエラーが存在する。

それは以下の記事でまとめた。

 

ta1se1.hatenablog.com