pengetahuan ini diberikan berdasarkan referensi dari 
http://phrack.org/issues.html?issue=67&id=13#article



 pada daemon2 yang dikompile dg proteksi SSP :



| ..P.. | ..P.. | ..P.. | ..P.. | ..C.. | ..C.. | ..C.. | ..C.. |

P - 1 byte of buffer
C - 1 byte of canary


keterangan:  1 byte umumnya terdiri dari  256 kemungkinan


metode 1 (tidak efektif). 



pada mesin 32 bit : teknik bruteforce dengan kemungkinan 2^32 = 4 milyar 
lebih kemungkinan nilai canary dengan rata tingkat keberhasilan setelah 2 
milyar kali uji coba.



pada mesin 64 bit: teknik bruteforce dengan kemungkinan 2^64 kemungkinan 
nilai canary


metode 2 (lebih efektif pada program 2 yang melakukan fork tapi tidak 
diikuti oleh execve).

byte for byte (tidak efektif pada program dengan fork yang diikuti oleh 
execve)

karena pada saat execve nilai canary berubah. teknik ini hanya efektif 
pada daemon2 dengan forking tanpa diikutin execve, tingkat keberhasilan 
teknik ini sekitar 512 kali uji coba.


teknik ini dilakukan dengan melakukan overwrite 1 byte canary selanjutnya 
kita liat apa daemon crash, jika daemon tetap berjalan atau response lebih 
lama berarti nilai canarynya bener.



metode 3. 


metode ini bisa dilakukan kurang lebih sama seperti teknik di atas, yang 
membedakan hanya di pengecekan response dari daemon yg sedang dibrute jika 
response dari daemon adl sesuai yg kita harapkan berarti 1 byte telah 
teroverwite dg nilai yg tepat.

kemungkinanya menjadi 4*256 = 1024 kemungkinan



First byte:
| ..P.. | ..P.. | ..P.. | ..P.. | ..X.. | ..C.. | ..C.. | ..C.. |

Second byte:
| ..P.. | ..P.. | ..P.. | ..P.. | ..X.. | ..Y.. | ..C.. | ..C.. |

Third byte:
| ..P.. | ..P.. | ..P.. | ..P.. | ..X.. | ..Y.. | ..Z.. | ..C.. |

Fourth byte:
| ..P.. | ..P.. | ..P.. | ..P.. | ..X.. | ..Y.. | ..Z.. | ..A.. |