タグ

mallocに関するTAKEmaruのブックマーク (7)

  • House of Rabbit (仮) - Heap exploitation technique bypassing ASLR - [ja] - つれづれなる備忘録

    記事では,今回私が新たに組んだ Heap Exploit のテクニックについて紹介します. このテクニックでは,一般的な Heap Exploit 手法で必要とされるヒープアドレスのリークは不要です. その上で任意のアドレスを malloc で返すことを実現し,その領域に対して書き込むことを可能とします. 結構煩雑な作業が必要ではありますが,条件さえ揃えばだいぶ汎用性の高い手法なのではないかと思います. The English article is here. shift-crops.hatenablog.com 攻撃概要 特徴 成立条件 動作確認済み環境 攻撃手法 link to fastbins link to unsorted bins link to largebins Get arbitrary address with malloc 関連リンク 攻撃概要 攻撃の全体的な見通し

    House of Rabbit (仮) - Heap exploitation technique bypassing ASLR - [ja] - つれづれなる備忘録
  • Fewer mallocs in curl | daniel.haxx.se

    Today I landed yet another small change to libcurl internals that further reduces the number of small mallocs we do. This time the generic linked list functions got converted to become malloc-less (the way linked list functions should behave, really). Instrument mallocs I started out my quest a few weeks ago by instrumenting our memory allocations. This is easy since we have our own memory debug a

  • mmapを使ってファイルベースの巨大なバッファを確保する話

    小さなバッファはインメモリでもつが、メモリに収まらないような大きなバッファはテンポラリファイルを作り、file I/Oでアクセスする、というのが昔からの汎用的なバッファ実装のアプローチ。 だが、バッファに格納するデータ量によってアクセス手段を変えるというのはめんどくさいし、そこを抽象化すると無駄なオーバーヘッドが発生する。 幸いなことに最近は、メモリ空間が広い 64bit CPU だけ考えればいい。なので、ファイルの「読み込み」については、めんどくさいから全部mmapするというのが一般的なアプローチになってきている(例: LLVMのリンカであるlld)。 同様のことが、テンポラリファイルを使う可変長のバッファについても可能であり、h2o では実際に実装している。詳しくは h2o_buffer_reserve 関数の実装を見てもらえばいいと思いますが、ざっくりとした手順は以下のとおり: ▪️

  • The Malloc Maleficarum (Bugtraq 2005) - ももいろテクノロジー

    この記事は「CTF Advent Calendar 2016」24日目の記事です。 「glibc malloc exploit techniques」では主要なmalloc系exploitテクニックについて説明したが、歴史的には他にもさまざまな手法が公表されている。 ここでは、2005年にBugtraqメーリングリストにて公表されたテキスト「The Malloc Maleficarum」についてまとめてみる。 環境 Ubuntu Server 16.04.1 LTS 64bit版、GLIBC 2.23 $ uname -a Linux vm-ubuntu64 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB mo

    The Malloc Maleficarum (Bugtraq 2005) - ももいろテクノロジー
  • House of Forceの概要と実践(題材:BCTF2016 bcloud) - Pwn De Ring

    これは,CTF Advent Calendar2016の6日目の記事です. 記事では,House of Forceというheap exploitのテクニックの解説,実践問題の解説を行ってみたいと思う. 1. House of Forceの前に House of Forceの説明をするに当って,事前に知っておくべきheap領域について復習してみよう.今回は,題材問題も32bitなので,32bitとして話を勧めていく. glibcには,heap領域を管理するためのmalloc_state構造体というものが以下のように定義されている. struct malloc_state { mutex_t mutex; int flags; mfastbinptr fastbinsY[NFASTBINS]; mchunkptr top; mchunkptr last_remainder; mchunkpt

    House of Forceの概要と実践(題材:BCTF2016 bcloud) - Pwn De Ring
  • glibc malloc exploit techniques - ももいろテクノロジー

    malloc系exploitテクニックのうち、応用しやすそうなもののメモ。 環境 Ubuntu Server 16.04.1 LTS 64bit版、GLIBC 2.23 $ uname -a Linux vm-ubuntu64 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS Release: 16.04 Codename: xenial $ /lib/x86_64-linux-gnu/libc.so.6 GNU C Library (Ubuntu GLIB

    glibc malloc exploit techniques - ももいろテクノロジー
  • malloc ライブラリのメモリ管理構造 | 技術文書 | 技術情報 | VA Linux Systems Japan株式会社

    Linux プログラミング言語 malloc(3)のメモリ管理構造 2007/11/30 技術部 クラウド基盤エキスパート  角馬 文彦 malloc()といえばC言語ではお馴染みのライブラリで、最も良く使用されるライブラリの一つです。しかしその分だけ何らかの不具合を経験した人も多いのではないでしょうか。書ではmalloc()、free()で確保、解放されるメモリリソースが内部的にどのように管理されているかを説明していきます。mallocライブラリの仕様を理解する事で、ライブラリ使用時に何らかの不具合が発生した際の手助けになればと思います。 ここではLinuxディストリビューションで標準的に使用されているglibcのmallocライブラリを扱います。今回の調査では次の環境を使用しています。 ディストリビューション :Debian sarge パッケージバージョン :glibc-2.3.

    malloc ライブラリのメモリ管理構造 | 技術文書 | 技術情報 | VA Linux Systems Japan株式会社
  • 1