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.. |