實戰|記一次對某站點詳細的滲透測試
前言
最近在嘗試沖刺排名,恰好本次滲透中的東西可以拿來做一些分享,希望可以給大家提供一些思路,有什么不對不足的地方,希望各位師傅斧正,本文所涉及的漏洞均已提交至src平臺
正文
0x01 任意用戶注冊
像這種注冊頁面沒有驗證碼的,果斷抓包嘗試無限綁定任意電話號碼和郵箱注冊



驗證之后成功注冊并登錄兩個賬戶,果然可以批量注冊,登陸,送上手的低危成功吃到
0x02 任意用戶密碼重置
登陸賬戶,進入修改資料界面,仔細觀察,修改密碼居然不用填舊密碼?

果斷抓包,這里的邏輯是用自己的用戶名找回密碼,在最后修改密碼的時候抓包,改成其他用戶名


驗證一下,成功更改另一用戶密碼登錄,ok,又是一個低危+,(其實可以看到這里第一個和第二個漏洞都不難,因為是業務邏輯類型,這類型的漏洞其實只要我們細心,就一定能挖到的)
0x03 水平越權+存儲xss組合拳
上面在找到任意密碼重置后,便可以發現這個頁面存在非常簡單的越權漏洞,原理同上,他的邏輯是通過username參數來查詢更改后端的數據。但是既然已經找到任意密碼重置了,單單一個水平越權確實沒什么看點了,但是沒關系,雖然咱們菜,但是咱們能堅持,夠細心
繼續對資料修改處進行測試,發現下面有一自我介紹處,自我介紹這個功能一般來說長度和特殊字符限制比較少,因為這屬于業務需要,所以測試的時候遇到了就不能忽略

果然這里有一存儲型xss漏洞,抓包改payload,然后登陸另一賬戶進入修改資料頁面驗證成功


備注:其實這里也可以用存儲型+csrf組合拳哦,不過我個人認為越權+存儲型更實用(當然要是用img標簽打csrf也很實用啦)
0x04 sql注入
問題出該網站一信息查看處,看到url處存在?id=1
多用幾個payload找到更多信息,
首先是發現存在waf,
payload1:www.xxx.com/xxx/?id=1+and+select

然后是存在報錯信息,
payload2:www.xxx.com/xxx/?id=abcd
雖然access數據庫不支持報錯注入,但是后面我們會利用是否報錯來進行一個盲注

于是手注一直嘗試,找到了他這里的語句結構,非常難受,access數據庫除了不能報錯,也不能利用注釋,但是別放棄,
payload3:www.xxx.com/xxx/?id=1+and+exists(

基于此語句結構去構造payload,雖然有waf但是可以繞過,具體繞過手法我想在后面的文章做詳細匯總
這里說一下其中有一個邏輯,select后面不能直接跟任何占位空字符(%0d,%0a,%0c,%20,' '),這個應該是他在后端自己又加的正則,用select(xxx)可以繞過這個邏輯
最終的payload:www.xxx.com/xxx/?id=1+and+exists(查詢數據的語句)
繞過waf后可以通過盲注暴力猜解數據,可以看到admin表不存在,會給到錯誤信息回顯,而另一個表是存在的,則正常回顯


成功猜解出一表名,點到為止,拿下高危
結語
最后分享自己的一個心得體會,如果想從基礎慢慢進階,那么一定不要著急,細心的去解決每一個問題,一定不要輕易放棄,有個大佬跟我說過,學習網絡安全,一定要有自信,一定要堅持,我可能今天不會這個東西,但是我不可能永遠都學不會。
作者:雨下整夜,轉載于先知社區。