0x01 前言
首先声明这些漏洞不是我挖的,我想挖但是挖不出来,蛋疼。本次讲解栈溢出漏洞,这个漏洞是比较常见的漏洞,现在 php 里面不太常见了,php 漏洞挖掘没有啥好工具,只能人工慢慢的看,afl 好像可以自动化挖掘,不过我跑了 10几天也没跑出个crash。
包含漏洞的版本:PHP 7.0.11
0x02 漏洞分析
首先下载源码 http://php.net/releases/,然后编译安装,版本可以低一点,往后的漏洞这个版本都是没打补丁的。环境采用 ubuntu 和编译版本的 php7.0.2,只有 linux 才有符号表,windows 下不好调试,虽然方便的多。现在正式开始吧。
定位到漏洞函数代码 /ext/gd/gd.c:2222
PHP_FUNCTION(imagecreatefromstring)
{
zval*data;
gdImagePtrim;
intimtype;
charsig[8];
if(zend_parse_parameters(ZEND_NUM_ARGS(),"z", |