原创 stack canary 的認識

在前面的博客裏面,已經介紹了 stack overflow 的攻擊原理,其中也設計到了 GCC 編譯器的 stack canary 技術,用於預防 stack overflow. 現在再來詳細瞭解一下stack canaries 的種類,

原创 Linux kernel 的source code 官網

google 搜索 linux kernel ,  官網是: https://www.kernel.org/ 可以把 kernel download 下來, 也可以在線看。 如果在線瀏覽某個版本的source code, 則點擊 "

原创 棧溢出漏洞及棧溢出攻擊

1. 棧溢出的原因 棧溢出(stack-based buffer overflows)算是安全界常見的漏洞。一方面因爲程序員的疏忽,使用了 strcpy、sprintf 等不安全的函數,增加了棧溢出漏洞的可能。另一方面,因爲棧上保存了函

原创 分享一個 變量沒有初始化 可能帶來的問題

先看 code: static void do_ctors_aux(void) { /* SGX RTS does not support .ctors currently */ fp_t *p = NULL;

原创 Heap Spray

Heap Spray 定義基本描述 Heap Spray 並沒有一個官方的正式定義,畢竟這是漏洞攻擊技術的一部分。但是我們可以根據它的特點自己來簡單總結一下。 Heap Spray 是在 shellcode 的前面加上大量的 sli

原创 Integer Promotion

Almost every programmer has learned about C, and a lot of them use it for their career.  Yet, C can be really tricky

原创 toctou race condition

說的比較好的文章在這裏: http://www.cis.syr.edu/~wedu/Teaching/IntrCompSec/LectureNotes_New/Race_Condition.pdf TOCTOU:  time of ch

原创 UAF (use after free) 漏洞

1. 原理   如上代碼所示,指針p1申請內存,打印其地址,值 然後釋放p1 指針p2申請同樣大小的內存,打印p2的地址,p1指針指向的值 Gcc編譯,運行結果如下:   p1與p2地址相同,p1指針釋放後,p2申請相同

原创 25 simple examples of Linux find command

Basic examples 1. List all files in current and sub directories This command lists out all the files in the current

原创 什麼是 shellcode

緩衝區溢出的攻擊思路已經很清晰了:首次是找到對準EIP的位置,然後覆蓋 EIP跳到注入的shellcode 裏執行。 前面例子只是簡單展示了shellcode長什麼樣子,事實上shellcode是攻擊的核心所在。漏洞觸發後執行的操

原创 Linux 堆溢出 分析

1. Linux堆管理算法         Linux系統通過glibc程序庫提供堆內存管理功 能,存在兩種堆管理算法.         glibc2.2.4及以下版本是使用Doug Lea的實現方法 tcmalloc .        

原创 關於stack 以及相關的寄存器的知識(x86 結構)

1.  stack 通常是從高地址到低地址增長的。 2.  EBP:    base pointer.       ESP:  stack pointer.       EBP 指向stack 的基址。       ESP:  總是指向

原创 ROP攻擊技術

原文地址: http://blog.csdn.net/linyt/article/details/48738757 背景 前面介紹了ret2libc和ret2plt,這兩個攻擊技術的相通點是函數參數是通過壓棧來傳遞,這也是i

原创 RED HAT 防火牆服務firewalld

對於CentOS/RHEL 7或Fedora 18以上版本的系統,使用FirewallD服務來配置防火牆。 FirewallD即Dynamic Firewall Manager of Linux systems,Linux系統的動態防

原创 linux grub.cnf grub64.efi 文件

在 ubuntu 14.04 和 Red Hat 7.2 系統中, 如果系統是EFI 啓動的,那麼在 /boot/efi/EFI/ 目錄下有 grub64.efi  和 grub.cnf 文件。 grub64.efi 是EFI啓動文件