xss,csrf,SQL注入

2021-08-15 19:46:18 字數 1482 閱讀 4797

1、定義:跨站腳步攻擊,過濾使用者表單提交的資料

2、防範措施:

a.使用php內建函式:htmlspecialchars(),strip_tags,trim,addslashes。

b.php所有列印的語句如echo,print等,在列印前都要使用htmlentities() 進行過濾,

這樣可以防止xss,注意中文要寫htmlentities($name,ent_noquotes,gb2312)

c.php防注入和xss攻擊通用過濾函式

<?php

//php防注入和xss攻擊通用過濾.

$_get && safefilter($_get);

$_post && safefilter($_post);

$_cookie && safefilter($_cookie);

function safefilter (&$arr)

$value = preg_replace($ra,'',$value); //刪除非列印字元,粗暴式過濾xss可疑字串

$arr[$key] = htmlentities(strip_tags($value)); //去除 html 和 php 標記並轉換為 html 實體

}else}}

}?>

1、定義:跨站請求偽造(攻擊者盜用了你的身份,以你的名義傳送惡意請求)

2.csrf攻擊原理及過程如下:

a. 使用者c開啟瀏覽器,訪問受信任**a,輸入使用者名稱和密碼請求登入**a;

b.在使用者資訊通過驗證後,**a產生cookie資訊並返回給瀏覽器,此時使用者登入**a成功,可以正常傳送請求到**a;

c. 使用者未退出**a之前,在同一瀏覽器中,開啟乙個tab頁訪問**b;

d. **b接收到使用者請求後,返回一些攻擊性**,並發出乙個請求要求訪問第三方站點a;

e. 瀏覽器在接收到這些攻擊性**後,根據**b的請求,在使用者不知情的情況下攜帶cookie資訊,向**a發出請求。**a並不知道該請求其實是由b發起的,所以會根據使用者c的cookie資訊以c的許可權處理該請求,導致來自**b的惡意**被執行。

3.防範措施:

a.在http請求中增加token並驗證

b.在http頭中自定義屬性並驗證

c.驗證 http referer 字段

d.增加驗證碼機制(驗證碼)

三、sql注入

1.堅持兩個原則

a.對輸入的資料進行過濾(addslashes())

b.轉義用於向資料庫發出的資料(mysql_real_escape_string()) c.

使用支援引數化查詢語句和佔位符的資料庫操作類(如pear::db, pdo等),你就會多得到一層保護

d.過濾輸入

e.變數型別限制

f.採用pdo運算元據庫

g.配置好資料庫的使用者許可權

web安全及防護 XSS CSRF sql注入

個人理解 web安全防護分為三種 xss csrf sql注入 xss xss攻擊原理 有很多登入頁面都有記住賬戶和密碼功能 方便下次登入 有的 是用明文記錄使用者名稱和密碼的 有的不良使用者會利用這點使用簡單工具檢視cookie結構 如果 有xss漏洞利用jsonp獲取到使用者的賬戶和密碼 攻擊防...

SQL注入 報錯注入

乙個帶get引數的 並且不從資料庫返回資料,但存在報錯資訊 檢視字段情況 報錯注入語句格式 and 1 2 union select1,2,3 from select count concat floor rand 0 2 sql語句 a from information schema.tables...

DLL注入 APC注入

apc注入的原理是利用當執行緒被喚醒時 apc中的註冊函式會被執行的機制,並以此去執行我們的 dll載入 進而完成 dll注入的目的,其具體流程如下 1 當exe 裡某個執行緒執行到 sleepex 或者waitforsingleobjectex 時,系統就會產生乙個軟中斷 或者是messagebo...