文件路徑:\application\user\controller\Index.php
問題代碼:91行-----------137行
分析:
第一步:我們來到111行判斷上傳頭像是否是圖片诀黍,我們來跟蹤isLegalPicture方法:
在\application\user\controller\Common.php找到isLegalPicture方法后對他進行分析焙格,對圖片后綴名進行了判斷,同時還對路勁進行判斷,都通過則返回一個true
第二步:獲取當前用戶頭像地址翅娶,用戶頭像地址已經(jīng)存數(shù)據(jù)庫里面了
第三步:獲取當前域名
第四步:來到188行
當if里面的條件都成立以后就來到第120行這里是獲取要刪除圖片的地址
第五步:來到122行判斷$yfile變量是否為空,也就是判斷要被刪除的圖片存在不存在
這行代碼使用了substr — 返回字符串的子串
如果給$yfile變量賦值的字符串的開始有/那么就執(zhí)行substr($yfile,1)昼激,否則直接返回$yfile變量值
第六步:我們繼續(xù)看
這里用到了str_replace— 子字符串替換
范例:
吧Hello world!里面的world替換成Shanghai
這里是為了吧圖片路徑里面的‘/’替換成‘\’
最后來到124行獲取圖片路勁刪除圖片
利用:
首先我們正常上傳一張頭像圖片拖陆,在保存圖片的時候進行抓包:
然后我們隨便找一篇帶圖片的文章,復制圖片地址:
吧剛才抓包得到的圖片地址改成這個圖片的地址教届,我們點擊go一下响鹃,圖片已經(jīng)被刪除成功
頭像已經(jīng)不見
在去看看文章的圖片,文章的圖片也不見了:
利用條件:
必須先正常上傳一張頭像點擊保存后才能刪除你想刪除的其他圖片
?注(因為沒有繞過圖片檢測所以只能達到刪除圖片)