1、偶然間發現一個菠菜站點,遂測試一番,思路如下:既然是菠菜站,肯定會讓用戶注冊,否則怎么收錢了?注冊這種和用戶強交互的頁面,可能存在的漏洞如下:
- sql注入:用戶輸入的賬號信息,如果不經過濾直接用來寫入或查詢數據庫,肯定存在sql注入
- xss:在輸入框輸入的個人信息,大概率會被展示在用戶的頁面;同時管理員肯定有權限在后台查看用戶的個人信息,這里可能會有存儲型xss;就算是反射型或DOM型xss,由於這類站點有客服,可以想辦法誘騙客戶點擊鏈接,達到偷cookie或其他目的;
- 平行越權:用戶登陸時、登陸后查看某些頁面,此時抓包,如果有類似id字段,通過更改id號可能能看到其他用戶、甚至管理員的信息
- CSRF:修改賬號信息,比如密碼;或則修改郵箱,再通過郵箱修改密碼;
- 支付漏洞:抓包改參數,造成0元支付
2、順着這個思路,不管三七二之一,先上工具試試注冊頁面,結果如下:發現2個高危的xss;
(1)先看第二個:把提示的參數換成檢測工具的payload后,頁面如下:自己的payload居然被完整的在頁面展示,沒有任何過濾,高興死我了;
由於payload本身就在JS內部,所以剛開始並未構造script標簽,而是直接用類似 '19736%0a',}%0aalert(666);%0a' 這種payload,目的是讓alert(666)直接暴露在后台原有的script標簽里,但反復嘗試了好多個都不行,只能調整思路,重新構造script標簽,這次成功,如下;說明這個xss沒誤報;
另一個是cookie里面的,把sessionid改了,也能直接出現在頁面的html源碼;和上面第一個類似,都可以構造script執行自己的js代碼;不過由於不知道后台源碼,不能確定這里是否是存儲型xss,也不能通過構造url誘騙別人點擊,我個人覺得意義不大,這里不再驗證;
由於目前還無法登陸后台,其他xss是否是存儲型還不確定,現階段暫不繼續驗證其他xss漏洞;
(2)登陸界面抓包,用戶名和密碼居然明文傳輸,WTF.......
放過后,又抓到新包,放入repeater嘗試:里面有個字段captcha是驗證碼,刪掉后服務器任然會執行,並且不會提示驗證碼錯誤,而是用戶名或密碼錯誤,省了不少事;先用正確的賬號測試,發現返回的status是Y,一切正常;
然后開始用 單引號、雙引號、括號、') or 1=1 -- qwe 等各種sql注入的payload嘗試,返回都如下:
右邊那一串native編碼解碼后為: “請輸入4-15個字元, 僅可輸入英文字母以及數字的組合”; 看來是有意做了過濾,只能輸入字母和數字,並且不能輸入任何特殊符號,這里大概率不存在sql注入;(有些站點前端頁面也有說說明,並且實在后台服務器端檢驗,不是再前端用js檢驗,想用burp抓包后改字段也不行)
(3)平行/垂直越權:有些站點登陸后,cookie里面會帶上各種id,比如uid=123、groupid=456、telno=135000387465等等,很容易看出字段的含義,並且更改數值后看到其他用戶甚至管理員的數據;但這里的cookie都是各種session,剩下各種數字的字段無法看出啥含義,用burp嘗試不同的數值都返回status:N,這條路也走不通;
(4)0元支付:在支付界面抓包,把request包的內容解碼,發現里面又sign字段,會對其他字段做校驗,改金額的話需要逆向校驗算法,再重新計算sign值,這里暫時放棄;PS:這里終於暴露了user_id;
3、通過xray掃描,發現一個resin-viewfile漏洞。
根據掃描提示,改file=xxxx的內容,果然能查到部分文件,比如下面的配置文件;
這個漏洞類似SSRF,可以遍歷內網文件;遂在github找漏洞利用的工具,同時用burp跑字典挨個窮舉目錄和文件,但只發現了如下文件,都是常規的文件和路徑,沒找到預期的各種配置(比如賬號)文件;
想遍歷C盤,貌似有防護;
這個漏洞暫時放棄;
4、截至目前,已發現能利用的只有XSS,而且還是反射型的,只能先找個xss平台生成一個偷cookie的script標簽,嵌入到有xss漏洞的url,然后找到客服MM,誘騙其點擊;結果客服MM不但沒上當,還發我新鏈接,讓我重新試試新的站點,WTF.........
好吧,重試就重試,於是繼續搞新站點;用賬號登陸新站點后,主要找和用戶有交互的頁面(這里涉及大量傳參,可以改動的空間很大,出現漏洞的幾率比靜態網頁大很多);花了大量時間,查看了無數鏈接后,貌似出現了轉機,如下:
這里返回了一個json串,里面有賬號名、電話、昵稱、權限等各種敏感數據,url里面還有client關鍵詞,難道這是查看用戶信息的接口?馬上用burp抓包,更改url中純數字的參數(純數字意味着索引,而且容易窮舉),果然不出所料,炸出部分注冊用戶的信息:
5、另外,通過xray還發現了CORS漏洞(數以CSRF的一種),也要想辦法誘騙客戶、管理員或平台其他的用戶點擊,這里暫時不深入;
這個菠菜站點總結:1、用戶在form的輸入做了嚴格限制,sql注入和xss都屏蔽 2、resin漏洞不痛不癢,拿不到敏感數據 3、支付:有sign字段校驗,需要先破解校驗算法 4、最終有個頁面傳參未做校驗,通過更改數字類參數的值爆破出了部分用戶信息; 5、可能是因為業務原因,前端頁面暫時沒有找到任何上傳文件的地方,目前還找不到上傳小馬的方法;
參考:1、 https://blkstone.github.io/2017/10/30/resin-attack-vectors/ 針對Resin服務的攻擊向量整理