某信服安全服務工程師秋招面試

死不悔改奇男子發表於2024-06-21

一、自我介紹

阿吧阿吧

二、你挖src有挖哪些,就是有沒有挖到一些好的成果。

這裡我介紹的是前兩天挖src挖到的一個儲存型XSS漏洞,詳細可參考“https://bbs.zkaq.cn/t/31195.html” 這篇文章。
面試官:一般儲存型xss還可以透過哪些方式來利用呢,比如說它設定了http-only,還有哪些利用方式呢?
我:設定了http-only就不能獲取到cookie了。其餘的利用方式有網頁掛馬、惡意彈窗、流量劫持等。
面試官:你一般做測試的時候會常用到哪些測試工具?
我:最常見的就是burpsuite了,平常如果挖到類似sql注入的漏洞,也會嘗試使用sqlmap;如果是滲透小程式、app的話就會用到fiddler、charles之類的流量工具;平常還有一些web掃描工具,像nessus、appscan、awvs之類的;剩下比較常用的就是一些資訊收集工具,像nuclei、yakit這種整合化工具或者像hunter、fofa、鍾馗之眼之類的黑暗引擎搜尋工具。
面試官:那你剛剛列舉的這些資訊蒐集工具你覺得哪一款是比較好用的,或者哪個平臺哪一方面做的比較好?
我:我比較推薦的是奇安信的hunter工具,因為它是有icp備案的,收集資產比較全,每天也會給400積分進行免費的查詢,如果註冊兩個手機號,基本上來說一天都用不完;像fofa的話,如果你不是會員,那麼你能檢視的資產就非常少,蒐集的資訊有限。
面試官:比如說sql注入這個漏洞,如果使用者想要去修復他,可以採取哪些措施?
我:第一種就是可以過濾傳參,採用預編譯的方式,不要讓使用者的傳參直接拼接在sql語句上,像mybatis裡面如果出現了${}這種形式的話就很有可能產生sql注入或者jdbc裡面如果出現用+進行拼接,也很容易出現sql注入;第二種就是可以將報錯注入、聯合查詢注入這些注入方式中的關鍵函式給禁用掉;第三種可以設定黑白名單,限制訪問的機器;第四種可以部署waf來防禦。
面試官:那麼這個漏洞比如說在測試的時候他有waf攔截了,怎麼去繞過?
我:現在市面上已經出現了非常多繞過waf的手法了。比如說waf繞過了空格,我們可以採用內斂註釋或者小括號來代替空格;如果waf是禁用掉了一些危險函式的話,可以從mysql手冊中去查詢作用相似的替代函式;如果是過濾掉了像substring之類的擷取函式,我們可以採用from語法來替代。
面試官:那透過這個漏洞能拿到webshell嗎?
我:可以。
面試官:那需要哪些前提條件?
我:第一個需要知道絕對路徑;第二個需要擁有root許可權;第三個需要secure_file_priv引數為空或者為指定路徑。
面試官:你平時在測這個漏洞的時候,經常用手工去測試,還是直接拿工具去跑?
我:我是先用手工去進行測試,如果確認存在了sql注入漏洞,那麼我就會用sqlmap去跑。
面試官:sqlmap它有一些自帶的temper指令碼,你有自己去嘗試寫一些嗎?
我:這個倒沒有,因為基本上平常不太會去使用temper指令碼。像前幾天我也挖到過sql注入漏洞,但是它的後臺資料庫不是常見的mysql或者是oracle,而是access,然後access是沒有資料庫的這個概念的,所以我先手工嘗試了幾個比較常見的資料表,像admin、user、member之類的,沒跑出來,然後利用sqlmap工具跑了三千多條payload也沒跑出來,後來就不了了之了。
面試官:如果說我們在做滲透的時候,不小心把使用者的業務資料給刪除了,遇到這種情況,你怎麼處理?
我:一般來說,我們在做滲透測試之前,會讓使用者先備份一份資料的,可以直接從備份資料恢復。
面試官:如果沒有備份資料呢?
我:應該可以透過日誌去還原,或者是透過檢視一些歷史記錄,看他執行了哪些命令,在從結果來回溯判斷刪除掉了哪些資料。
面試官:那客戶端怎麼解決這個事情?(這個問題我沒回答上來)

三、比如給你一個場景,登入框,有輸入使用者名稱加密碼以及驗證碼和忘記密碼的功能,你覺得可能存在哪些漏洞?

第一個是驗證碼繞過,第二個是任意重置密碼,第三個是弱口令,第四個是萬能密碼。
面試官:剛剛提到忘記密碼,那我們透過忘記密碼去重置其他人的密碼,這個大概會有哪些常見的攻擊方法?
我:基本上我們修改密碼是需要先填一個手機號,獲取驗證碼之後才會進行密碼重置。如果這個驗證碼會在前端顯示,或者驗證碼可以從響應包中獲取,就可以很容易的重置密碼。
面試官:自己有去分析或者是深入瞭解過一個poc嗎?
我:這個倒沒有,我平常都是直接從cve官網上或者github上拿到payload就直接去利用了,對payload為什麼會生效沒有去深入瞭解過。

四、一般在做護網的時候,肯定是想拿到許可權或者webshell,那你覺得有哪些方式可以拿到webshell或者許可權?

最常見的是一個檔案上傳漏洞,還可以利用xxe漏洞實現任意命令執行,或者是你寫入的資料可以存入到對方資料庫中的,在這種地方寫個一句話木馬存到資料庫中在去訪問它就可以呼叫木馬了。
面試官:有做過護網的紅隊、攻擊隊嗎?
我:這個暫時沒有。
面試官:如果給你一個使用者名稱稱,對他進行資訊收集,大概有哪些方式或者說用到哪些工具?
我:第一個可以用愛企查,看看有沒有跟這個使用者相關聯的資產,如果有公司的話,可以搜尋公司對應的域名,還可以收集跟該使用者有關係的使用者的資產資訊;第二個可以收集該使用者的一些社交帳號,例如微博賬號、抖音賬號;第三個還可以該使用者的個人資訊,比如生日、手機號、銀行賬號之類的,後續有可能用於社會工程學攻擊。
面試官:有去做過釣魚嗎?
我:暫時沒有。
面試官:那比如說我們拿到webshell的時候許可權比較低,有去做過提權操作嗎?
我:靶場裡面平時有做到過,實戰中沒有。
面試官:那比如說phpmyadmin的提權方式有哪些?
我:第一個可以利用udf提權,以dll的形式寫成mysql的外掛,dll中就是我們想要實現的功能,但這個有兩個前提條件,一個是要知道root賬戶的密碼,一個目標系統得是Windows;第二個可以利用mof提權,其每隔五秒就會去監控程序建立和死亡,然後我們用mysql的root許可權去執行我們上傳的mof。隔了一定時間以後這個mof就會被執行,這個mof當中有一段是vbs指令碼,這個vbs大多數的是cmd的新增管理員使用者的命令。
面試官:那比如說windows的作業系統,它的rdp協議被爆破,怎麼去確定他有沒有登入成功?
我:可以看他的日誌記錄,像事件檢視器中如果有一連串的4625id號,然後緊接著出現一個4624id號,那麼很有可能就是爆破之後登入成功了。
面試官:windows有哪幾類日誌?
我:應用程式日誌、系統日誌、安全日誌。
面試官:如果說一個使用者的網站被上傳webshell了,你怎麼去分析它從哪裡被上傳的?
我:可以看他的web應用日誌,特別是要關注post提交方式的流量,看請求體中上傳的資料是不是webshell,然後還需要看它的響應包是不是200,是否上傳成功。還可以去檢視有上傳功能點的地方,上傳的檔案被放到哪個資料夾中,從那個資料夾中去篩選webshell。
面試官:那你自己的個人職業規劃,更傾向於哪個方向?
我:還是漏洞挖掘、web滲透這一塊。

下面就是反問環節。總結一點就是一直問到你不會為止,不給你任何出路。

相關文章