格式化字符串
格式化字符串漏洞格式化字符串漏洞函数: 以printf函数为例,它的第一个参数就是格式化字符串:“Color %s,Number %d,Float %4.2f” 然后printf函数会根据这个格式化字符串来解析对应的其它参数。 漏洞原理利用:程序崩溃:最简单的的攻击方法,只需要输入一串%s就可以 %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s 对于每一个 %s,printf() 都会从栈上取一个数字,把该数字视为地址,然后打印出该地址指向的内存内容,由于不可能获取的每一个数字都是地址,所以数字对应的内容可能不存在,或者这个地址是被保护的,那么便会使程序崩溃 在 Linux 中,存取无效的指针会引起进程收到 SIGSEGV 信号,从而使程序非正常终止并产生核心转储 基本的格式化字符串漏洞的格式12//比如正确的写法是:printf("%s",...