タグ

ブックマーク / tkmr.hatenablog.com (2)

  • Nginxのalias traversalについて - 冬のソフトウェア海岸

    Nginxのalias traversalとは Nginxではaliasディレクティブを使って locationディレクティブで指定したURIのパスをファイルシステム上のパスに対応させることができます。 以下の例のようにconfigを書くと、/var/www/app/static/以下にあるファイルに/static/ファイル名のようなパスでアクセスできます。 location /static { alias /var/www/app/static/; } しかし、このようにlocationのパスの末尾が/で終わっていない場合、..を使うことで、開発者が意図していない上位のディレクトリへのアクセスが可能になってしまいます。 このケースだと、/static../setting.pyのようにパスを指定することで、aliasで指定したディレクトリより上位のディレクトリである/var/www/app

    Nginxのalias traversalについて - 冬のソフトウェア海岸
  • VMの検知について - 冬のソフトウェア海岸

    マルウェアを解析する際にはVMで解析を行うことが多いので、VMを検知してアンチデバッキングするマルウェアが存在する。それらが用いる手法についてまとめた。 1. TSCを用いる TSC(IA32_TIME_STAMP_COUNTER_MSR: TSC_MSR)とは、CPUクロックごとに加算される64bitのタイムスタンプカウンタであり、これを RDTSC(Read Time Stamp Counter)命令を使って読み出すことで、CPUクロックと同じ分解能を持つ精度のタイマを使うことができる。 CPUクロックに基づく相対時刻の計測 このタイマを用いて、VMとホストマシンで実行した時の時間差を確認することでVMを検知できる。以下のコードはwin上のgccで動作する。 # include <stdio.h> int main(void) { unsigned int time1 = 0; uns

    VMの検知について - 冬のソフトウェア海岸
  • 1