文件路径:\application\user\controller\Index.php
问题代码:91行-----------137行
分析:

第一步:我们来到111行判断上传头像是否是图片,我们来跟踪isLegalPicture方法:

在\application\user\controller\Common.php找到isLegalPicture方法后对他进行分析,对图片后缀名进行了判断,同时还对路劲进行判断,都通过则返回一个true

第二步:获取当前用户头像地址,用户头像地址已经存数据库里面了

第三步:获取当前域名


第四步:来到188行

当if里面的条件都成立以后就来到第120行这里是获取要删除图片的地址
第五步:来到122行判断$yfile变量是否为空,也就是判断要被删除的图片存在不存在

这行代码使用了substr — 返回字符串的子串

如果给$yfile变量赋值的字符串的开始有/那么就执行substr($yfile,1),否则直接返回$yfile变量值
第六步:我们继续看


这里用到了str_replace— 子字符串替换
范例:

吧Hello world!里面的world替换成Shanghai
这里是为了吧图片路径里面的‘/’替换成‘\’

最后来到124行获取图片路劲删除图片

利用:
首先我们正常上传一张头像图片,在保存图片的时候进行抓包:

然后我们随便找一篇带图片的文章,复制图片地址:

吧刚才抓包得到的图片地址改成这个图片的地址,我们点击go一下,图片已经被删除成功

头像已经不见

在去看看文章的图片,文章的图片也不见了:

利用条件:

必须先正常上传一张头像点击保存后才能删除你想删除的其他图片

�注(因为没有绕过图片检测所以只能达到删除图片)