WordPress 縫隙概況
在該系統代碼里咱們發現wp_mail這個函數具體的作用是用來發送郵件,用戶找回暗碼首要會發送郵件曩昔,承認賬號的所有者,然后再進行從頭設置暗碼,但是在這個找回暗碼發送郵件的過程中,咱們發現,代碼里的發送服務器地址:server這個值里是能夠假造的,也就是說咱們能夠結構歹意的函數來對其進行sql注入以及查詢數據庫里的賬號暗碼。
在正常的情況下,網站發送郵件的參數裝備里會把退件的一個地址作為用戶暗碼找回的時分,假如沒有發送到對方的郵件里,會直接退回到退件的郵件地址里去,也就是說咱們能夠設置退件的地址發送到咱們設置好的郵件地址里去,咱們來進行從頭找回暗碼,設置用戶的新的暗碼。
咱們首要使用阿里云的服務器,ECS購買一個按量付費的國內服務器,linux centos系統,然后裝置nginx+PHP+mysql數據庫的這么一個網站環境,再下載WordPress官方的一個版別,裝置到服務器中,咱們來現場實戰一下:如下圖:
咱們創建一個咱們自己的郵箱,在服務器里搭建好郵箱的環境,敞開stmp25端口,然后抓包WordPress找回這兒,長途代碼履行咱們的操作,如下圖:
這兒咱們提交到咱們的網站里去,郵件沒有發送成功就會退送到咱們長途代碼指定好的郵件地址里去的.
然后假如郵件里沒有用戶暗碼找回的鏈接,咱們能夠通過檢查源代碼或者是html代碼就能夠看到從頭設置用戶暗碼的鏈接。