越權漏洞(二)
登錄脆弱、支付篡改
對登錄脆弱和支付篡改進行一個總結。
登錄脆弱:對登陸點進行檢測,如果該網站使用的是http協議,那麼抓包,我們可以看到明文密碼,也就是密碼可見。(大部分http協議是這樣的,不排除有例外),如果該網站使用的是https協議,那麼我們可以看的密碼是加密形式的,如果使用的是常見的加密方式,如md5,base64等等。那麼可以進行解密。這種思路是可以進行爆破。
利用工具:burpsuite。字典下載地址://github.com/huyuanzhi2/password_brute_dictionary
也可以自己製作字典,比如我們知道管理員的姓名、郵箱、出生年月、扣扣號、手機號等等,這是前期資訊收集工作做的非常的好。然後打開網址://www.bugku.com/mima/輸入這個管理員或者用戶的資訊。他會根據這個資訊生成一些密碼。我們使用密碼一般都是123456+自己名字縮寫,或者qq號+名字縮寫等等。這個網站就是根據這些生成的密碼。我們把他當作字典進行爆破。
爆破過程:由於不能做真實實例,我就把步驟說一下
1>登錄的時候進行抓包,然後右擊將數據包發送到intruder中
2>點擊intruder,看圖
3>打開payloads後,按圖操作
4>導入字典後,由於字典都是明文傳輸,當然如果是http明文傳輸可以直接進行爆破(直接進入到第6步),如果是MD5加密,我們需要對我們的字典進行MD5加密
5>將字典進行加密
6>開始爆破,點擊intruder,然後start開始。
7>爆破完成後看數據包的長度,肯定大多數的數據包長度是一樣的,因為正確密碼只有一個。找到那個返回長度不一樣的。可能就是正確密碼。
Cookie脆弱點:在登錄頁面檢查cookie,有的網站只檢查cookie通過,不會去驗證他的正確性。如何發現這種漏洞
1>通過源碼(資訊收集的時候,掃描目錄有可能得到網站源碼,或者在開源找到類似程式碼)
2>沒有源碼只能從數據包中查看,比如抓到數據包中有cook:user=admin這類的可以嘗試,一般比較難找
支付篡改 支付購買業務漏洞: 通過抓包工具抓取相關的數據包修改相應的參數可能達到纂改的目的,比如修改商品編號,購買價格,購買數量,支付方式,訂單編號,支付狀態,支付方式。比較常見的修改參數:替換支付(將購買5000塊錢的數據替換成50塊錢的,通過50塊錢買到了5000的東西),重複支付(將未支付的數據替換為已經支付過的數據),最小額支付,負數支付(購買數量為-1),溢出支付,優惠卷支付。因為我這裡也沒有源碼,無法演示,大家可以搜索一下相關文章。
產生漏洞原理:沒有檢測數據(價格,數量等資訊)的唯一性。
防禦:
1>後端檢查每一項值,包括支付狀態(後端檢測傳參)
2>校驗價格、數量參數,比如購買產品數量不能為負數只能為正整數
3>交易金額較大需要人工審核
大家也可以參考一下別的文章,集百家之長為自己所用。