萌噠噠的Ashley
測試工程師面試常見問題及答案舉例如下。
一、Mongodb熟悉嗎,一般部署幾臺。
部署過,沒有深入研究過,一般mongodb部署主從、或者mongodb分片集群;建議3臺或5臺服務(wù)器來部署。MongoDB分片的基本思想就是將集合切分成小塊。這些塊分散到若干片里面,每個片只負(fù)責(zé)總數(shù)據(jù)的一部分。
二、如何發(fā)布和回滾,用jenkins又是怎么實現(xiàn)。
筆者回答:jenkins配置好代碼路徑(SVN或GIT),然后拉代碼,打tag。需要編譯就編譯,編譯之后推送到發(fā)布服務(wù)器(jenkins里面可以調(diào)腳本),然后從分發(fā)服務(wù)器往下分發(fā)到業(yè)務(wù)服務(wù)器上。
三、Tomcat工作模式。
筆者回答:Tomcat是一個JSP/Servlet容器。其作為Servlet容器,有三種工作模式:獨立的Servlet容器、進(jìn)程內(nèi)的Servlet容器和進(jìn)程外的Servlet容器。
四、監(jiān)控用什么實現(xiàn)的。
筆者回答:現(xiàn)在公司的業(yè)務(wù)都跑在阿里云上,我們首選的監(jiān)控就是用阿里云監(jiān)控,阿里云監(jiān)控自帶了ECS、RDS等服務(wù)的監(jiān)控模板,可結(jié)合自定義報警規(guī)則來觸發(fā)監(jiān)控項。
五、你是怎么備份數(shù)據(jù)的,包括數(shù)據(jù)庫備份。
筆者回答:在生產(chǎn)環(huán)境下,不管是應(yīng)用數(shù)據(jù)、還是數(shù)據(jù)庫數(shù)據(jù)首先在部署的時候就會有主從架構(gòu)、或者集群,這本身就是屬于數(shù)據(jù)的熱備份。
其實考慮冷備份,用專門一臺服務(wù)器做為備份服務(wù)器,比如可以用rsync+inotify配合計劃任務(wù)來實現(xiàn)數(shù)據(jù)的冷備份,如果是發(fā)版的包備份,正常情況下有臺發(fā)布服務(wù)器,每次發(fā)版都會保存好發(fā)版的包。
一點流殤
網(wǎng)絡(luò)工程師能夠從事計算機信息系統(tǒng)的設(shè)計、建設(shè)、運行和維護(hù)工作。下面是我為你整理的網(wǎng)絡(luò)工程師面試題,希望對你有所幫助!
1、用戶名與口令被破解
攻擊原理:用戶名與口令,往往是黑客們最感興趣的東西,如果被通過某種方式看到源代碼,后果是嚴(yán)重的。
防范技巧:涉及用戶名與口令的程序最好封裝在服務(wù)器端,盡量少在ASP文件里出現(xiàn),涉及與數(shù)據(jù)庫連接的用戶名與口令應(yīng)給予最小的權(quán)限。出現(xiàn)次數(shù)多的用戶名與口令可以寫在一個位置比較隱蔽的包含文件中。如果涉及與數(shù)據(jù)庫連接,在理想狀態(tài)下只給它以執(zhí)行存儲過程的權(quán)限,千萬不要直接給予該用戶修改、插入、刪除記錄的權(quán)限。
2、驗證被繞過
攻擊原理:現(xiàn)在需要經(jīng)過驗證的ASP程序大多是在頁面頭部加一個判斷語句,但這還不夠,有可能被黑客繞過驗證直接進(jìn)入。
防范技巧:需要經(jīng)過驗證的ASP頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉(zhuǎn)進(jìn)來的會話才能讀取這個頁面。
3、inc文件泄露問題
攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。
防范技巧:程序員應(yīng)該在網(wǎng)頁發(fā)布前對它進(jìn)行徹底的調(diào)試;安全專家則需要加固ASP文件以便外部的用戶不能看到它們。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件使用戶無法從瀏覽器直接觀看文件的源代碼。inc文件的文件名不要使用系統(tǒng)默認(rèn)的或者有特殊含義容易被用戶猜測到的名稱,盡量使用無規(guī)則的英文字母。
4、自動備份被下載
攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個ASP文件時,編輯器自動創(chuàng)建一個備份文件,比如:UltraEdit就會備份一個.bak文件,如你創(chuàng)建或者修改了,編輯器會自動生成一個叫 文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載文件,這樣的源程序就會被下載。
防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
5、特殊字符
攻擊原理:輸入框是黑客利用的一個目標(biāo),他們可以通過輸入腳本語言等對用戶客戶端造成損壞;如果該輸入框涉及數(shù)據(jù)查詢,他們會利用特殊查詢語句,得到更多的數(shù)據(jù)庫數(shù)據(jù),甚至表的全部。因此必須對輸入框進(jìn)行過濾。但如果為了提高效率僅在客戶端進(jìn)行輸入合法性檢查,仍有可能被繞過。
防范技巧:在處理類似留言板、BBS等輸入框的ASP程序中,最好屏蔽掉HTML、JavaScript、VBScript語句,如無特殊要求,可以限定只允許輸入字母與數(shù)字,屏蔽掉特殊字符。同時對輸入字符的長度進(jìn)行限制。而且不但要在客戶端進(jìn)行輸入合法性檢查,同時要在服務(wù)器端程序中進(jìn)行類似檢查。
6、數(shù)據(jù)庫下載漏洞
攻擊原理:在用Access做后臺數(shù)據(jù)庫時,如果有人通過各種方法知道或者猜到了服務(wù)器的Access數(shù)據(jù)庫的路徑和數(shù)據(jù)庫名稱,那么他也能夠下載這個Access數(shù)據(jù)庫文件,這是非常危險的。
防范技巧:
(1)為你的數(shù)據(jù)庫文件名稱起個復(fù)雜的非常規(guī)的名字,并把它放在幾層目錄下。所謂 “非常規(guī)”,打個比方說,比如有個數(shù)據(jù)庫要保存的是有關(guān)書籍的信息,可不要給它起個“”的名字,而要起個怪怪的名稱,比如,并把它放在如./kdslf/i44/studi/的幾層目錄下,這樣黑客要想通過猜的方式得到你的Access數(shù)據(jù)庫文件就難上加難了。
(2)不要把數(shù)據(jù)庫名寫在程序中。有些人喜歡把DSN寫在程序中,比如:
DBPath = (“”)
“driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath
假如萬一給人拿到了源程序,你的Access數(shù)據(jù)庫的名字就一覽無余了。因此建議你在ODBC里設(shè)置數(shù)據(jù)源,再在程序中這樣寫:
“shujiyuan”
(3)使用Access來為數(shù)據(jù)庫文件編碼及加密。首先在“工具→安全→加密/解密數(shù)據(jù)庫”中選取數(shù)據(jù)庫(如:),然后按確定,接著會出現(xiàn)“數(shù)據(jù)庫加密后另存為”的窗口,可存為:“”。
要注意的是,以上的動作并不是對數(shù)據(jù)庫設(shè)置密碼,而只是對數(shù)據(jù)庫文件加以編碼,目的是為了防止他人使用別的工具來查看數(shù)據(jù)庫文件的內(nèi)容。
接下來我們?yōu)閿?shù)據(jù)庫加密,首先打開經(jīng)過編碼了的 ,在打開時,選擇“獨占”方式。然后選取功能表的“工具→安全→設(shè)置數(shù)據(jù)庫密碼”,接著輸入密碼即可。這樣即使他人得到了 文件,沒有密碼他也是無法看到 中的內(nèi)容。
7、防范遠(yuǎn)程注入攻擊
這類攻擊在以前應(yīng)該是比較常見的攻擊方式,比如POST攻擊,攻擊者可以隨便的改變要提交的數(shù)據(jù)值已達(dá)到攻擊目的.又如:COOKIES 的偽造,這一點更值得引起程序編寫者或站長的注意,不要使用COOKIES來做為用戶驗證的方式,否則你和把鑰匙留給賊是同一個道理.
比如:
If trim(Request. cookies (“uname”))=”fqy” and (“upwd”) =”fqy#” then
……..more………
End if
我想各位站長或者是喜好寫程序的朋友千萬別出這類錯誤,真的是不可饒恕.偽造COOKIES 都多少年了,你還用這樣的就不能怪別人跑你的密碼.涉及到用戶密碼或者是用戶登陸時,你最好使用session 它才是最安全的.如果要使用COOKIES就在你的COOKIES上多加一個信息,SessionID,它的隨機值是64位的,要猜解它,不可能.例:
if not ( or ) then
login=”true”
Session(“username”&sessionID) = Username
Session(“password”& sessionID) = Password
‘(“username”)= Username
‘(“Password”)= Password
下面我們來談?wù)勅绾畏婪哆h(yuǎn)程注入攻擊,一般的攻擊都是將單表提交文件拖到本地,將Form ACTION=”” 指向你服務(wù)器中處理數(shù)據(jù)的文件即可.如果你全部的數(shù)據(jù)過濾都在單表頁上,那么恭喜你,你將已經(jīng)被腳本攻擊了.
怎么才能制止這樣的遠(yuǎn)程攻擊?好辦,請看代碼如下: 程序體(9)
‘個人感覺上面的代碼過濾不是很好,有一些外部提交竟然還能堂堂正正的進(jìn)來,于是再寫一個.
‘這個是過濾效果很好,建議使用.
if instr((“http_referer”),”http://”&(“host”) )<1 then “處理 URL 時服務(wù)器上出錯。
如果您是在用任何手段攻擊服務(wù)器,那你應(yīng)該慶幸,你的所有操作已經(jīng)被服務(wù)器記錄,我們會第一時間通知公安局與國家安全部門來調(diào)查你的IP. ”
end if
程序體(9)
本以為這樣就萬事大吉了,在表格頁上加一些限制,比如maxlength啦,等等..但天公就是那么不作美,你越怕什么他越來什么.你別忘了,攻擊者可以突破sql注入攻擊時輸入框長度的限制.寫一個SOCKET程序改變HTTP_REFERER?我不會。網(wǎng)上發(fā)表了這樣一篇文章:
—————————–
Windows Registry Editor Version
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\擴展(&E)]
@=”C:\Documents and Settings\Administrator\桌面\”
“contexts”=dword:00000004
———–end———————-
———–——————
———-end———————–
用法:先把導(dǎo)入注冊表(注意文件路徑)
然后把拷到注冊表中指定的地方.
打開網(wǎng)頁,光標(biāo)放在要改變長度的輸入框上點右鍵,看多了一個叫擴展的選項了吧
單擊搞定! 后記:同樣的也就可以對付那些限制輸入內(nèi)容的腳本了.
怎么辦?我們的限制被饒過了,所有的努力都白費了?不,舉起你de鍵盤,說不。讓我們繼續(xù)回到腳本字符的過濾吧,他們所進(jìn)行的注入無非就是進(jìn)行腳本攻擊。我們把所有的精力全都用到ACTION以后的頁面吧,在頁中,我們將非法的字符全部過濾掉,結(jié)果如何?我們只在前面虛晃一槍,叫他們?nèi)ジ淖员戆桑?dāng)他們改完才會發(fā)現(xiàn),他們所做的都是那么的徒勞。
8、ASP木馬
已經(jīng)講到這里了,再提醒各位論壇站長一句,小心你們的文件上傳:為什么論壇程序被攻破后主機也隨之被攻擊者占據(jù)。原因就在……對!ASP木馬!一個絕對可惡的東西。病毒么?非也.把個文件隨便放到你論壇的程序中,您老找去吧。不吐血才怪哦。如何才能防止ASP木馬被上傳到服務(wù)器呢?方法很簡單,如果你的論壇支持文件上傳,請設(shè)定好你要上傳的文件格式,我不贊成使用可更改的文件格式,直接從程序上鎖定,只有圖象文件格式,和壓縮文件就完全可以,多給自己留點方便也就多給攻擊者留點方便。怎么判斷格式,我這里收集了一個,也改出了一個,大家可以看一下:
程序體(10)
‘判斷文件類型是否合格
Private Function CheckFileExt (fileEXT)
dim Forumupload
Forumupload=”gif,jpg,bmp,jpeg”
Forumupload=split(Forumupload,”,”)
for i=0 to ubound(Forumupload)
if lcase(fileEXT)=lcase(trim(Forumupload(i))) then
CheckFileExt=true
exit Function
else
CheckFileExt=false
end if
next
End Function
‘驗證文件內(nèi)容的合法性
set MyFile = (“”)
set MyText = (sFile, 1) ‘ 讀取文本文件
sTextAll = lcase():
‘判斷用戶文件中的危險操作
sStr =”8 .getfolder .createfolder .deletefolder .createdirectory
.deletedirectory”
sStr = sStr & “ .saveas ”
sNoString = split(sStr,” ”)
for i = 1 to sNoString(0)
if instr(sTextAll, sNoString(i)) <> 0 then
sFile = & sFileSave: sFile
“
”& sFileSave &”文件中含有與操作目錄等有關(guān)的命令”&_
“
”& mid(sNoString(i),2) &”,為了安全原因,不能上傳。”&_”
”
end if
next
程序體(10)
優(yōu)質(zhì)工程師考試問答知識庫