文件路径:\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一下,图片已经被删除成功
头像已经不见
在去看看文章的图片,文章的图片也不见了:
利用条件:
必须先正常上传一张头像点击保存后才能删除你想删除的其他图片
领取专属 10元无门槛券
私享最新 技术干货