什么是XSS攻擊、SQL注入、WebShell掃描?
來(lái)源:網(wǎng)絡(luò) 發(fā)布時(shí)間:2022-06-01 查看次數(shù):838
相信很多站長(zhǎng)都有網(wǎng)站被攻擊過(guò)的經(jīng)歷,網(wǎng)站越優(yōu)質(zhì)越容易被盯上。如果被攻入恰恰說(shuō)明網(wǎng)站存在安全漏洞, 這時(shí)要及時(shí)處理并做好程序、服務(wù)器的安全防范,今天我們講下什么是XSS攻擊、SQL 注入、WebShell 掃描?這些攻擊要如何預(yù)防?
一、什么是XSS攻擊
XSS(Cross-Site Scripting)又稱跨站腳本攻擊。通常指的是通過(guò)利用網(wǎng)頁(yè)開(kāi)發(fā)時(shí)留下的漏洞,通過(guò)技術(shù)方法注入惡意指令代碼到網(wǎng)頁(yè),使用戶加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁(yè)程序。攻擊成功后,攻擊者可能得到包括但不限于更高的權(quán)限(如執(zhí)行一些操作)、私密網(wǎng)頁(yè)內(nèi)容、 會(huì)話和cookie等各種內(nèi)容。其導(dǎo)致的危害可想而知,如劫持用戶會(huì)話,插入惡意內(nèi)容、重定向用戶、使用惡意軟件劫持用戶瀏覽器、繁殖 XSS 蠕蟲(chóng),甚至破壞網(wǎng)站、修改路由器配置信息等。
二、XSS攻擊的預(yù)防
1、過(guò)濾所有的HTTP Request參數(shù)。
2、用戶輸入長(zhǎng)度限制。
3、使用 HttpOnly Cookie,禁止js讀取某些Cookie。
4、避免拼接html。
5、避免內(nèi)聯(lián)事件,如<button onclick="load('{{ data }}')">點(diǎn)</button>。
6、防止下發(fā)界面現(xiàn)實(shí)html標(biāo)簽, 把</>等符號(hào)轉(zhuǎn)義。
三、什么是SQL注入
SQL注入(SQLi)是通過(guò)構(gòu)建特殊的輸入作為參數(shù)傳入Web應(yīng)用程序,而這些輸入大都是SQL語(yǔ)法里的一些組合,通過(guò)執(zhí)行SQL語(yǔ)句進(jìn)而控制Web應(yīng)用程序后面的數(shù)據(jù)庫(kù)服務(wù)器,其主要原因是程序沒(méi)有仔細(xì)過(guò)濾用戶輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。
攻擊者可以使用SQL注入漏洞繞過(guò)應(yīng)用程序的安全措施,繞過(guò)網(wǎng)頁(yè)或Web應(yīng)用程序的身份驗(yàn)證和授權(quán),并檢索整個(gè)SQL數(shù)據(jù)庫(kù)的內(nèi)容。還可以利用SQL注入訪問(wèn)未經(jīng)授權(quán)的用戶敏感數(shù)據(jù),同時(shí)添加、修改和刪除數(shù)據(jù)庫(kù)中的記錄,這是非常危險(xiǎn)的Web應(yīng)用程序漏洞之一。
四、SQL注入的預(yù)防
1、檢查變量數(shù)據(jù)類型和格式。
2、過(guò)濾特殊符號(hào)或轉(zhuǎn)義處理。
3、綁定變量,使用預(yù)編譯語(yǔ)句。
4、訪問(wèn)數(shù)據(jù)庫(kù)進(jìn)行多層驗(yàn)證。
5、使用安全參數(shù)來(lái)杜絕注入式攻擊。
6、對(duì)用戶進(jìn)行分級(jí)管理,嚴(yán)格控制用戶的權(quán)限。
五、什么是WebShell掃描
WebShell是一種可以在web服務(wù)器上執(zhí)行后臺(tái)腳本或者命令的后門(mén),這些后門(mén)文件放置在網(wǎng)站服務(wù)器的web目錄中,與正常的網(wǎng)頁(yè)文件混在一起。黑客通過(guò)入侵網(wǎng)站上傳WebShell后獲得服務(wù)器的執(zhí)行操作權(quán)限,比如執(zhí)行系統(tǒng)命令、竊取用戶數(shù)據(jù)、刪除web頁(yè)面、修改主頁(yè)等,其危害不言而喻。
WebShell可以穿越服務(wù)器防火墻,由于與被控制的服務(wù)器或遠(yuǎn)程過(guò) 80 端口傳遞的,因此不會(huì)被防火墻攔截。并且使用 WebShell 一般不會(huì)在系統(tǒng)日志中留下記錄,只會(huì)在網(wǎng)站的 web 日志中留下一些數(shù)據(jù)提交記錄,沒(méi)有經(jīng)驗(yàn)的管理員很難看出入侵痕跡。
六、WebShell掃描的預(yù)防
1、購(gòu)買 waf,如云盾等產(chǎn)品,waf 可以制止 WebShell 的上傳,但要注意是否會(huì)誤傷阻止正常IP。
2、修改 php.ini,在 disabled_fuctions 選項(xiàng)中計(jì)入 eval, system 等危險(xiǎn)函數(shù)的名稱,這樣此類函數(shù)即使存在于代碼中 php 也會(huì)禁止其執(zhí)行。
3、網(wǎng)站程序目錄下可寫(xiě)目錄不給執(zhí)行權(quán)限,有執(zhí)行權(quán)限的目錄不給寫(xiě)權(quán)限。
4、使用 chroot 將 web 目錄轉(zhuǎn)換為根目錄,這樣即使成功執(zhí)行 webshell,也無(wú)法訪問(wèn) web 目錄之外的資源。
5、將整個(gè)服務(wù) docker 化,從而實(shí)現(xiàn)服務(wù)與物理機(jī)之間的隔離。
上述這幾種惡意請(qǐng)求可以說(shuō)是比較常見(jiàn)的,理論上只要你的網(wǎng)站上線可以被訪問(wèn)到,這些惡意請(qǐng)求也就來(lái)了,因?yàn)槎际怯霉ぞ咦詣?dòng)實(shí)現(xiàn)掃描、破解。推薦閱讀“服務(wù)器被大流量攻擊怎么辦”這篇文章,建議定時(shí)備份程序文件及數(shù)據(jù)庫(kù),服務(wù)器/網(wǎng)站管理員的密碼設(shè)置8位以上字母+大小寫(xiě)+特殊字符的組合密碼。
【聲明:信息來(lái)自網(wǎng)絡(luò),如有侵權(quán),聯(lián)系既刪?!?br>
一、什么是XSS攻擊
XSS(Cross-Site Scripting)又稱跨站腳本攻擊。通常指的是通過(guò)利用網(wǎng)頁(yè)開(kāi)發(fā)時(shí)留下的漏洞,通過(guò)技術(shù)方法注入惡意指令代碼到網(wǎng)頁(yè),使用戶加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁(yè)程序。攻擊成功后,攻擊者可能得到包括但不限于更高的權(quán)限(如執(zhí)行一些操作)、私密網(wǎng)頁(yè)內(nèi)容、 會(huì)話和cookie等各種內(nèi)容。其導(dǎo)致的危害可想而知,如劫持用戶會(huì)話,插入惡意內(nèi)容、重定向用戶、使用惡意軟件劫持用戶瀏覽器、繁殖 XSS 蠕蟲(chóng),甚至破壞網(wǎng)站、修改路由器配置信息等。
二、XSS攻擊的預(yù)防
1、過(guò)濾所有的HTTP Request參數(shù)。
2、用戶輸入長(zhǎng)度限制。
3、使用 HttpOnly Cookie,禁止js讀取某些Cookie。
4、避免拼接html。
5、避免內(nèi)聯(lián)事件,如<button onclick="load('{{ data }}')">點(diǎn)</button>。
6、防止下發(fā)界面現(xiàn)實(shí)html標(biāo)簽, 把</>等符號(hào)轉(zhuǎn)義。
三、什么是SQL注入
SQL注入(SQLi)是通過(guò)構(gòu)建特殊的輸入作為參數(shù)傳入Web應(yīng)用程序,而這些輸入大都是SQL語(yǔ)法里的一些組合,通過(guò)執(zhí)行SQL語(yǔ)句進(jìn)而控制Web應(yīng)用程序后面的數(shù)據(jù)庫(kù)服務(wù)器,其主要原因是程序沒(méi)有仔細(xì)過(guò)濾用戶輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。
攻擊者可以使用SQL注入漏洞繞過(guò)應(yīng)用程序的安全措施,繞過(guò)網(wǎng)頁(yè)或Web應(yīng)用程序的身份驗(yàn)證和授權(quán),并檢索整個(gè)SQL數(shù)據(jù)庫(kù)的內(nèi)容。還可以利用SQL注入訪問(wèn)未經(jīng)授權(quán)的用戶敏感數(shù)據(jù),同時(shí)添加、修改和刪除數(shù)據(jù)庫(kù)中的記錄,這是非常危險(xiǎn)的Web應(yīng)用程序漏洞之一。
四、SQL注入的預(yù)防
1、檢查變量數(shù)據(jù)類型和格式。
2、過(guò)濾特殊符號(hào)或轉(zhuǎn)義處理。
3、綁定變量,使用預(yù)編譯語(yǔ)句。
4、訪問(wèn)數(shù)據(jù)庫(kù)進(jìn)行多層驗(yàn)證。
5、使用安全參數(shù)來(lái)杜絕注入式攻擊。
6、對(duì)用戶進(jìn)行分級(jí)管理,嚴(yán)格控制用戶的權(quán)限。
五、什么是WebShell掃描
WebShell是一種可以在web服務(wù)器上執(zhí)行后臺(tái)腳本或者命令的后門(mén),這些后門(mén)文件放置在網(wǎng)站服務(wù)器的web目錄中,與正常的網(wǎng)頁(yè)文件混在一起。黑客通過(guò)入侵網(wǎng)站上傳WebShell后獲得服務(wù)器的執(zhí)行操作權(quán)限,比如執(zhí)行系統(tǒng)命令、竊取用戶數(shù)據(jù)、刪除web頁(yè)面、修改主頁(yè)等,其危害不言而喻。
WebShell可以穿越服務(wù)器防火墻,由于與被控制的服務(wù)器或遠(yuǎn)程過(guò) 80 端口傳遞的,因此不會(huì)被防火墻攔截。并且使用 WebShell 一般不會(huì)在系統(tǒng)日志中留下記錄,只會(huì)在網(wǎng)站的 web 日志中留下一些數(shù)據(jù)提交記錄,沒(méi)有經(jīng)驗(yàn)的管理員很難看出入侵痕跡。
六、WebShell掃描的預(yù)防
1、購(gòu)買 waf,如云盾等產(chǎn)品,waf 可以制止 WebShell 的上傳,但要注意是否會(huì)誤傷阻止正常IP。
2、修改 php.ini,在 disabled_fuctions 選項(xiàng)中計(jì)入 eval, system 等危險(xiǎn)函數(shù)的名稱,這樣此類函數(shù)即使存在于代碼中 php 也會(huì)禁止其執(zhí)行。
3、網(wǎng)站程序目錄下可寫(xiě)目錄不給執(zhí)行權(quán)限,有執(zhí)行權(quán)限的目錄不給寫(xiě)權(quán)限。
4、使用 chroot 將 web 目錄轉(zhuǎn)換為根目錄,這樣即使成功執(zhí)行 webshell,也無(wú)法訪問(wèn) web 目錄之外的資源。
5、將整個(gè)服務(wù) docker 化,從而實(shí)現(xiàn)服務(wù)與物理機(jī)之間的隔離。
上述這幾種惡意請(qǐng)求可以說(shuō)是比較常見(jiàn)的,理論上只要你的網(wǎng)站上線可以被訪問(wèn)到,這些惡意請(qǐng)求也就來(lái)了,因?yàn)槎际怯霉ぞ咦詣?dòng)實(shí)現(xiàn)掃描、破解。推薦閱讀“服務(wù)器被大流量攻擊怎么辦”這篇文章,建議定時(shí)備份程序文件及數(shù)據(jù)庫(kù),服務(wù)器/網(wǎng)站管理員的密碼設(shè)置8位以上字母+大小寫(xiě)+特殊字符的組合密碼。
【聲明:信息來(lái)自網(wǎng)絡(luò),如有侵權(quán),聯(lián)系既刪?!?br>