2014-11-01から1ヶ月間の記事一覧

行末C-fでdabbrev-expandする

Emacsのdabbrev-expand(動的補完)は便利だが、デフォルトのキーバインドがM-/となっておりやや使いにくい。 そこで、カーソルが行末の場合に限りC-fでdabbrev-expandするようにしてみる。 ;; intelligent C-f/C-b (defun forward-char-or-dabbrev-expand (…

x64でPartial overwriteとsystem関数を使ったASLR+PIE+DEP+FullRELRO回避について考えてみる

「x64でBuffer over-read+Partial overwrite他によるASLR+PIE+DEP+FullRELRO回避をやってみる」では、Buffer over-readによるInformation leakを利用してx64環境かつPIEが有効な条件下におけるシェル起動を行った。 ここでは、Information leakを利用する代…

「ROP Illmatic: Exploring Universal ROP on glibc x86-64」というタイトルで発表した

AVTOKYO2014 このブログで書いてきたExploit系のいろいろについて話した。 ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja) from inaz2 Also English version is available. マイクを持ちながらのデモがきつかったり、時間をオーバーしてしまっ…

Fabricを使って複数のサーバを操作する

デプロイツールFabricを使って、SSH経由で複数のサーバを操作する方法のメモ。 同種のツールにparallel-ssh(pssh)があるが、psshでsudoを行うためには/etc/sudoersを編集してパスワードなしでsudoできるようにしなければならない。 Fabricでは、一度入力し…

名前や用途が似ているLinuxコマンドの整理

いろいろあるLinuxコマンドを区別するためのメモ。 w系 wログイン中のユーザについて、実行中のコマンド名も含め表示する whoログイン中のユーザについて、ログイン時刻を表示する usersログイン中のユーザのみを表示する id自分の実ユーザ名、実効ユーザ名…

chardetで文字コードを自動変換する

curlなどで取得したテキストを自動的にターミナルの文字コード(たとえばUTF-8)に変換したい場合がある。 このような場合には、Pythonのchardetモジュールが使える。 chardetは、Mozilla Firefoxで使われている文字コード判定アルゴリズムをPythonモジュー…

x64でBuffer over-read+Partial overwrite他によるASLR+PIE+DEP+FullRELRO回避をやってみる

「ROP stager + Return-to-dl-resolve + ブルートフォースによる32bit ASLR+PIE+DEP回避」では、8bitのブルートフォースを行うことでx86環境かつPIEが有効な条件下でのシェル起動を行った。 しかし、x64環境ではASLRによりランダム化されるbit数が28bitとな…