跳转至

Stack smashing protection not enforced

栈粉碎保护未强制执行

描述

栈粉碎保护 (Stack Smashing Protection) 是一种漏洞利用缓解措施,有助于检测正在被利用的缓冲区溢出 (buffer overflows),并在恶意代码执行之前中止执行。该功能通过选择适当的函数、在函数序言 (prologue) 处存储一个金丝雀 (canary) 并在结语 (epilogue) 处检查其值来实现。

建议

通过指定 -fstack-protector-all 编译器标志来启用栈粉碎保护 (SSP)。

gcc -o output_file source_file.c -fstack-protector-all

链接

标准

  • OWASP_MASVS_L1:
    • MSTG_CODE_9
  • OWASP_MASVS_L2:
    • MSTG_CODE_9
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_6_2
    • REQ_6_3
    • REQ_11_3
  • OWASP_MASVS_v2_1:
    • MASVS_RESILIENCE_4