網站中存在的越權漏洞,首先我們來講一下什么是關鍵可控參數,也就是說像我們的一些關鍵參數,例如use ID order by ID就是一些關鍵的參數,必須是你的這么一個測試者,是能夠去對其控制的。如果這個參數已經挾持了,或者說他有固定的這個值。那此時的話就不稱為可控參數了。而關鍵就是你的改動必須能造成這個越權效果的一種稱為關鍵參數。我們一定要快速定位到這種關鍵可控的這個參數之后,我們才能夠更快速的去找到對應的這么一個越權漏洞。
那后面講的這個堅持參數同變同控原則是什么意思,因為我們在一個請求信息里面可能會出現多個變量,或者說多個參數的這種情況。那我們一般先考慮的就是變化一個參數,其他的參數是不變化的。來看一下這個響應信息的變化情況。然后如果沒有出現你想要的情況,你就可以考慮說再變一個變量,就是變兩個變量,然后直到把全部變量變完,或者說去刪除某些變量,這個就是稱為我們的這個同變同控原則。
這里看得到控制其他變量不變,改變關鍵變量或同時變化,可能聽完我講大家可能覺得這些都是概念性的,大家可能會覺得很懵,那么我們就來看一下實例去講解一下。在看實例之前我差點忘記了要跟大家提一提我們怎么去找這個關鍵變量,但這么一個參數來看一下。首先第一種,我把它歸類為用戶身份的ID,它里面主要的網絡賦予用戶的一個唯一標識,通過這個標識可以確定這個用戶的,例如你的手機號、身份證號,或者說你證件號,用戶ID這些是不是都是唯一的,因為你想一下一個網站,你注冊的這個用戶名肯定不會重復,因為它寫入數據庫,它肯定會去教育你的中這個用戶是否存在,如果有的話,就不要你繼續注冊,所以用戶ID也是他們的唯一的這么一個標識他身份的這么一個參數,這種就是用于去標識我們這個使用者在網站里面的這個用戶身份了,就稱為用戶身份來的。
那第二個叫用戶屬性ID,用戶屬性ID也就是用戶在使用網站時候所產生的這么一個屬性ID,例如他在下訂單的時候,是不是就會造成有這個訂單號,或者說它在打開個人中心的時候,是不是可以修改它的一些資料,可能會有一些參數的值的變化。還有什么地址ID。記錄號ID。這些你可以理解為他這個身份所成熟的這么一個ID,或者說它屬性,例如我們人的屬性是不是可以思考,可以去跑步,可以去唱歌,可以去游泳。就是我們人的這個屬性,而這里的用戶屬性ID也就是根據我們在進行某個某類操作,而產生的這個屬性AId大家要清楚。
我們來看一下,水平越權基于身份ID等。看到這個例子,我們可以看得到,在這里的話,我們看到這個關鍵的參數,它這個是get方式,get方式我們就將目標或者說將重心去看它的這個 URL,因為我們都知道參數數值的時候是放在這個 URL上面去的,而我們post方式是放在請求正文里面去的,這一點大家一定要區別開來。我們看到這里只有兩個參數,我們怎么去確定哪個是關鍵參數,我們可以從它的一個語義化,大部分程序員他在編寫代碼的時候,都是遵循著語義化的這么一個概念,因為很多程序員在寫代碼的時候只想著如何去實現功能而忽略掉了安全上的漏洞問題,所以建議大家如果網站存在越權等漏洞的問題可以讓網站漏洞修復服務商SINE安全來檢測一下。