一、自我介紹
阿吧阿吧,不多說(shuō)了
二、兩段實(shí)習(xí)經(jīng)歷,看你在南京中孚數(shù)據(jù)安全部做實(shí)習(xí)生,你能大概講一下做什么的嗎
當(dāng)時(shí)做的是一個(gè)隱寫溯源項(xiàng)目,是我們實(shí)驗(yàn)室跟南京中孚那邊共同合作的。主要是針對(duì)電子文檔信息泄露,數(shù)據(jù)泄密問(wèn)題,開(kāi)發(fā)涉密文檔隱寫溯源系統(tǒng),實(shí)現(xiàn)敏感信息泄露追蹤溯源技術(shù),解決涉密文檔遭到泄密后無(wú)法找到泄密源頭的難題。我主要負(fù)責(zé)的是:
(1)文本圖像中擾動(dòng)變形字體的字形匹配算法,帶領(lǐng)團(tuán)隊(duì)設(shè)計(jì)制作擾動(dòng)變形字體10000余字;
(2)版式嵌入隱寫模塊,主要針對(duì)pdf,ofd等版式文件進(jìn)行信息隱藏嵌入,實(shí)現(xiàn)自動(dòng)化編譯腳本和國(guó)產(chǎn)化平臺(tái)環(huán)境適配以及后續(xù)功能測(cè)試,編寫版式嵌入模塊詳細(xì)設(shè)計(jì)說(shuō)明書。
面試官:國(guó)產(chǎn)化平臺(tái)是什么
我:我們這個(gè)溯源系統(tǒng)除了可以在windows上安裝,也可以適配主要是方德、龍芯、飛騰這三個(gè)國(guó)產(chǎn)化平臺(tái)。
面試官:那你那個(gè)腳本主要寫的是一些嵌入式代碼嗎?
我:不是,我寫的是一個(gè)自動(dòng)化腳本,就是我們這個(gè)溯源系統(tǒng)是由多個(gè)模塊相互依賴才能編譯成功的,我所做的就是將這些編譯的過(guò)程寫成了一個(gè)腳本,實(shí)行自動(dòng)化。
面試官:這個(gè)東西有在哪里應(yīng)用嗎
我:這個(gè)項(xiàng)目是公司的一個(gè)保密項(xiàng)目,暫時(shí)只在公司內(nèi)部推行。
面試官:最終達(dá)成的效果有在公司內(nèi)部做過(guò)驗(yàn)證嗎
我:有的,在我結(jié)束實(shí)習(xí)之前,識(shí)別率可以達(dá)到70%,后來(lái)實(shí)習(xí)期結(jié)束回到學(xué)校后,公司有沒(méi)有再做優(yōu)化就不知道了。
三、聊一聊華為杯第一屆網(wǎng)絡(luò)安全創(chuàng)新大賽吧
這個(gè)大賽是去年由華為發(fā)起的一個(gè)國(guó)家級(jí)比賽,這個(gè)網(wǎng)絡(luò)安全創(chuàng)新大賽主要分為三個(gè)賽道,一個(gè)是揭榜挑戰(zhàn)賽,一個(gè)是創(chuàng)意作品賽,一個(gè)是CTF網(wǎng)絡(luò)攻防大賽。我參加的是CTF網(wǎng)絡(luò)攻防大賽這個(gè)賽道。
面試官:打CTF你主要負(fù)責(zé)哪一塊
我:主要負(fù)責(zé)web和misc這兩塊。
面試官:那聊一聊web安全方面的知識(shí)。
四、說(shuō)一下sql注入的基本原理和防御
sql注入的基本原理:通過(guò)某種方式將惡意的SQL代碼添加到輸入?yún)?shù)中,然后傳遞到SQL服務(wù)器使其解析并執(zhí)行的一種攻擊手法。
防御方式:
(1)普通用戶和系統(tǒng)管理員用戶的權(quán)限要有嚴(yán)格的區(qū)分
(2)預(yù)編譯,如使用參數(shù)化語(yǔ)句和綁定變量
(3)加強(qiáng)對(duì)用戶輸入的驗(yàn)證,識(shí)別惡意內(nèi)容,過(guò)濾掉某些危險(xiǎn)語(yǔ)句
(4)多使用數(shù)據(jù)庫(kù)自帶的安全參數(shù)
(5)轉(zhuǎn)義,把用戶的輸入當(dāng)成文本以及用斜杠來(lái)轉(zhuǎn)義
(6)數(shù)據(jù)庫(kù)異常信息隱藏
(7)防火墻,黑名單,禁止某些IP訪問(wèn)
(8)對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行加密
(9)禁用某些參數(shù),如secure_file_priv
(10)設(shè)置陷阱賬號(hào):設(shè)置兩個(gè)帳號(hào),一個(gè)是普通管理員帳號(hào),一個(gè)是防注入的帳號(hào)。將防注入的賬號(hào)設(shè)置的很像管理員,如 admin,以制造假象吸引軟件的檢測(cè),而密碼是大于千字以上的中文字符,迫使軟件分析賬號(hào)的時(shí)候進(jìn)入全負(fù)荷狀態(tài)甚至資源耗盡而死機(jī)。
面試官:預(yù)編譯能解決所有的sql注入問(wèn)題嗎?
我:應(yīng)該不行吧,我只知道預(yù)編譯是先將sql語(yǔ)句編譯完,再將用戶輸入的語(yǔ)句當(dāng)成字符串拼接在sql語(yǔ)句之后的。(像這種絕對(duì)性的語(yǔ)句,有點(diǎn)慌)
后來(lái)經(jīng)過(guò)上網(wǎng)查證,果然是不行的,原因有四點(diǎn):
(1)預(yù)編譯不能解決所有SQL注入:比如表名/列名/排序動(dòng)態(tài)傳入的場(chǎng)景,原因是這些地方不能預(yù)編譯,因此很多人還是直接拼接的,且囿于對(duì)預(yù)編譯的信賴,從外到里沒(méi)有過(guò)濾。
(2)可以預(yù)編譯的地方也有可能出現(xiàn)問(wèn)題:注入一般爆發(fā)在LIKE語(yǔ)句/IN語(yǔ)句中,因?yàn)檫@兩個(gè)地方的預(yù)編譯寫法都有些特殊,很多開(kāi)發(fā)者懶得去搞,就直接拼接了。
(3)在SQL語(yǔ)句的寫法上,直接拼接比預(yù)編譯簡(jiǎn)單太多了,沒(méi)有接觸過(guò)信息安全的初學(xué)者寫出來(lái)的代碼很大可能存在漏洞;就算是有經(jīng)驗(yàn)的程序員,在快速上線的壓力下,也沒(méi)有時(shí)間再去考慮信息安全的問(wèn)題。
(4)有太多有漏洞的老代碼來(lái)不及或不能換上預(yù)編譯,只能靠WAF茍活,而WAF這種東西本身就是在用戶體驗(yàn)與安全性之間的一種矛盾集合體,總有被繞過(guò)的可能性。
五、XSS的基本原理和防御方式
xss的基本原理:xss是跨站腳本攻擊,通常指攻擊者在網(wǎng)頁(yè)中嵌入惡意代碼,用戶訪問(wèn)網(wǎng)頁(yè)或點(diǎn)擊鏈接觸發(fā)惡意代碼而被攻擊。
防御方式:
(1)架設(shè)WAF,雖然不能完全解決XSS漏洞,但可以攔截大部分敏感數(shù)據(jù),防止黑客利用;
(2)對(duì)用戶的輸入進(jìn)行過(guò)濾,對(duì)輸出進(jìn)行轉(zhuǎn)義處理
(3)使用htmlspecialchares之類的函數(shù),設(shè)置httponly
(4)設(shè)置CSP
面試官:CSP策略為什么能夠防止xss?
我:CSP本質(zhì)上是一個(gè)白名單,它規(guī)定了瀏覽器能訪問(wèn)哪些外部資源,大大增強(qiáng)了網(wǎng)頁(yè)的安全性。
面試官:如果采用CSP一定能夠絕對(duì)防御XSS嗎?
我:不能吧(像這種絕對(duì)性的語(yǔ)句,我一般回答都是否定的,除非非常了解),如果真的能絕對(duì)防御,那只要網(wǎng)站設(shè)置了CSP策略,就不會(huì)有XSS漏洞了。
六、fastjson漏洞有了解過(guò)嗎
fastjson是阿里巴巴的開(kāi)源JSON解析庫(kù),它可以解析JSON格式的字符串,支持將JavaBean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean。fastjson入口類是com.alibaba.fastjson.JSON,主要的API是JSON.toJSONString,parse和parseObject。有三種利用方式:JNDI注入、Templateslmpl加載字節(jié)碼、BCEL加載字節(jié)碼。fastjson主要利用的是@type注解,攻擊者可以將惡意的payload寫在@type注解中,然后通過(guò)某些關(guān)鍵函數(shù),比如toString()函數(shù)會(huì)將當(dāng)前類轉(zhuǎn)為字符串形式,會(huì)提取類中所有的Field,自然會(huì)執(zhí)行相應(yīng)的getter、is等方法。
當(dāng)?shù)谝淮温┒幢鰜?lái)的時(shí)候,官方引入了checkAutoType安全機(jī)制,默認(rèn)情況下autoTypeSupport關(guān)閉,不能直接反序列化任意類,而打開(kāi)autoTypeSupport之后,是基于內(nèi)置黑名單來(lái)實(shí)現(xiàn)安全的,fastjson也提供了添加黑名單的接口。但是如果開(kāi)啟了autoType,可以在@type的前后分別加上“L;”來(lái)進(jìn)行繞過(guò)黑名單的限制。
第二次修復(fù),官方將原本的明文黑名單轉(zhuǎn)為使用了Hash黑名單,同時(shí)之前版本一直存在的使用類描述符繞過(guò)黑名單校驗(yàn)的問(wèn)題嘗試進(jìn)行了修復(fù)。但是如果類第一個(gè)字符是L,結(jié)尾是;,會(huì)使用substring函數(shù)進(jìn)行去除,顯然可進(jìn)行雙寫繞過(guò)。
第三次修復(fù),官方修復(fù)上一個(gè)版本中雙寫繞過(guò)的問(wèn)題。但是在loadClass的過(guò)程中,還針對(duì)[也進(jìn)行了處理和遞歸,那么也可以利用[進(jìn)行黑名單的繞過(guò)。
第四次修復(fù),官方修復(fù)了使用[繞過(guò)黑名單防護(hù)的問(wèn)題,在此版本之后,由字符串處理導(dǎo)致的黑名單繞過(guò)就結(jié)束了。
面試官:那fastjson2有了解過(guò)嗎?
我:沒(méi)了解過(guò)。
后來(lái)上網(wǎng)查找相關(guān)資料,也沒(méi)找到特別詳細(xì)的,如果有大佬了解的話,能不能給個(gè)鏈接。
七、科研虛假信息檢測(cè)具體是怎么樣的
這個(gè)是我小論文的研究方向,我所采用的數(shù)據(jù)集是twitter15和twitter16,這兩個(gè)數(shù)據(jù)集都是自帶標(biāo)簽的,由于數(shù)據(jù)集的標(biāo)簽是分為四類的,所以我的研究也是個(gè)四分類問(wèn)題。我采用的是圖神經(jīng)網(wǎng)絡(luò)結(jié)合預(yù)訓(xùn)練模型Bert的一種方式對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練和驗(yàn)證。由于數(shù)據(jù)集的數(shù)量只有幾千條,所以在做實(shí)驗(yàn)的時(shí)候,我將數(shù)據(jù)集劃分成5份,每次拿其中的四份進(jìn)行訓(xùn)練,剩下的一份進(jìn)行驗(yàn)證,總共進(jìn)行5次實(shí)驗(yàn)。
八、給你一個(gè)場(chǎng)景:公司現(xiàn)在要做一個(gè)文件水印,給公司所有的敏感文件打上文件水印要保證文件復(fù)制、修改、新增、另存為都能夠溯源的到,你會(huì)怎么做?
第一個(gè)我能想到的就是對(duì)字體進(jìn)行修改,就像我做的那個(gè)項(xiàng)目,設(shè)計(jì)一套字體;或者說(shuō)在文本的字里行間嵌入一些人眼不可見(jiàn)但是計(jì)算機(jī)能識(shí)別的標(biāo)簽。
面試官:那這樣能解決另存為的問(wèn)題嗎?特別是你之前做的那個(gè)項(xiàng)目能解決另存為的問(wèn)題嗎?
我:應(yīng)該不行,我之前做的那個(gè)項(xiàng)目只要是針對(duì)增刪改查操作進(jìn)行溯源,沒(méi)有對(duì)另存為這個(gè)操作進(jìn)行設(shè)計(jì)。
面試官:那你開(kāi)發(fā)這個(gè)電子文檔數(shù)字水印的時(shí)候有了解過(guò)其他的技術(shù)方案嗎
我:沒(méi)有,我們這個(gè)項(xiàng)目是我們實(shí)驗(yàn)室的老師跟中孚那邊的高級(jí)工程師討論出來(lái)的結(jié)果,我們就是按照老師給我們的文檔進(jìn)行代碼上的編寫,沒(méi)有考慮過(guò)其他的設(shè)計(jì)方案,也沒(méi)有對(duì)整個(gè)電子文檔數(shù)字水印方案進(jìn)行調(diào)研。
九、那你平時(shí)學(xué)習(xí)滲透或者項(xiàng)目上需要用到的知識(shí),你是從哪里獲取
第一個(gè)就是一些安全社區(qū),比如freebuf,先知社區(qū),奇安信攻防社區(qū);第二個(gè)就是b站上的一些教學(xué)視頻;第三個(gè)就是詢問(wèn)身邊的大佬。
十、你平時(shí)有寫過(guò)一些小工具之類的嗎?小腳本呢?
小工具之類的沒(méi)寫過(guò),但是小腳本寫過(guò)。比如就是在做ctf題的時(shí)候,需要我們?cè)?.5秒之內(nèi)作出反應(yīng),這個(gè)時(shí)候就需要編寫腳本去完成這個(gè)功能。
十一、你平常用的最多的安全工具是什么
第一個(gè)就是burpsuite,其次的話就是kali系統(tǒng)中自帶的一些滲透工具,比如msfconsole和cs,還有就是sqlmap和漏洞掃描之類的一些工具。
十二、再給一個(gè)場(chǎng)景:比如現(xiàn)在有一個(gè)任務(wù),是你之前完全不熟悉的,現(xiàn)在給你一個(gè)目標(biāo),然后需要你實(shí)現(xiàn)流量異常檢測(cè),那你怎么去開(kāi)展工作
第一步上網(wǎng)搜索異常流量的定義,第二步可以總結(jié)異常流量的特征;第三步可以根據(jù)異常流量的特征進(jìn)行監(jiān)測(cè),更進(jìn)一步就是編寫腳本,實(shí)現(xiàn)自動(dòng)化監(jiān)測(cè);第四步可以在任何可能發(fā)生的地方,比如防火墻,DMZ區(qū)域之類的地方部署編寫好的腳本,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)。
十三、我們公司是一個(gè)多地方辦公的,在北京,蘇州,成都都有辦事處,如果你入職了話,你更想去哪個(gè)地方
這就是一個(gè)開(kāi)放性的問(wèn)題了,每個(gè)人的答案都可能不同,因人而異。
下面就是反問(wèn)環(huán)節(jié)了。
?聲明:?中所涉及的技術(shù)、思路和?具僅供以安全為?的的學(xué)習(xí)交流使?,任何?不得將其?于?法?途以及盈利等?的,否則后果??承擔(dān)。所有滲透都需獲取授權(quán)!
免費(fèi)領(lǐng)取安全學(xué)習(xí)資料包!
滲透工具
技術(shù)文檔、書籍
面試題
幫助你在面試中脫穎而出
視頻
基礎(chǔ)到進(jìn)階
環(huán)境搭建、HTML,PHP,MySQL基礎(chǔ)學(xué)習(xí),信息收集,SQL注入,XSS,CSRF,暴力破解等等
應(yīng)急響應(yīng)筆記
學(xué)習(xí)路線文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-857733.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-857733.html
到了這里,關(guān)于某程旅行安全工程師一面的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!