- 使用 HTTP 動(dòng)詞篡改的認(rèn)證旁路
這個(gè)問題是指不使用規(guī)范的訪問方式也能返回頁面內(nèi)容
解決方案:
服務(wù)的架構(gòu)是nginx + 后端網(wǎng)關(guān)蒜茴,通過在nginx設(shè)置支持的http請(qǐng)求類型紊册,解決此問題假颇。
if ($request_method !~ ^(GET|POST|DELETE|PUT|PATCH|HEAD|OPTIONS)$ ) {
return 403;
}
-
跨站點(diǎn)請(qǐng)求偽造
CSRF(Cross Site Request Forgery) 跨站請(qǐng)求偽造一睁。
CSRF
簡(jiǎn)單概括csrf攻擊如下:
用戶登錄A網(wǎng)站后厅翔,瀏覽器記錄A網(wǎng)站cookie信息呢簸,此時(shí)訪問B網(wǎng)站兽泄,并點(diǎn)擊某些危險(xiǎn)鏈接漓概,導(dǎo)致A網(wǎng)站的cookie被攜帶,像A網(wǎng)站發(fā)送一些請(qǐng)求病梢,產(chǎn)生用戶數(shù)據(jù)安全問題胃珍。
解決方案:
根據(jù)原理,常用解決方案有兩種蜓陌。
(1)在A網(wǎng)站驗(yàn)證請(qǐng)求來源觅彰,即驗(yàn)證http 請(qǐng)求的HTTP Referer字段,我們也是利用此方式來防范CSRF攻擊钮热。
valid_referers none blocked server_names www.baidu.com;
if ($invalid_referer) {
return 403;
}
(2)前端請(qǐng)求時(shí)生成一個(gè)隨機(jī)token填抬,后端驗(yàn)證此token的有效性,請(qǐng)求中不攜帶token或者token驗(yàn)證失敗則認(rèn)為是非法請(qǐng)求隧期。
- 重定向釣魚
系統(tǒng)中主要使用了cas來實(shí)現(xiàn)單點(diǎn)登錄飒责,cas 支持登錄后的重定向,并且未對(duì)重定向地址進(jìn)行校驗(yàn)仆潮,導(dǎo)致登錄成功后可以跳轉(zhuǎn)到任意地址宏蛉。
解決方案:
nginx中增加對(duì)重定向地址校驗(yàn)
if ( $args !~* "service=http://localhost/"){
return 403;
}
- XSS攻擊