CSRF(Cross-site request forgery)跨站請求僞造,也被稱爲「One Click Attack」或者Session Riding,一般縮寫爲CSRF或者XSRF,是一種對網站的惡意利用。儘管聽起來像跨站腳本(XSS),但它與XSS很是不一樣,XSS利用站點內的信任用戶,而CSRF則經過假裝來自受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF攻擊每每不大流行(所以對其進行防範的資源也至關稀少)和難以防範,因此被認爲比XSS更具危險性。php
http://www.bank.com/transfer.php?from=a&money=1000&to=b
http://www.bank.com/transfer.php?from=Alice&money=9999&to=Cathy
固然,結果是失敗的,瀏覽器會記住a的session_id,而c經過瀏覽器的cookie帶過去的session_id固然不是a的,因此失敗。<html>
<body>
<form method="get" action="http://www.bank.com/transfer.php">
<input type="hidden" name="from" value="a">
<input type="hidden" name="money" value="1000">
<input type="hidden" name="to" value="c">
<input type="button" onclick="submit()" value="活動抽獎">
</form>
</body>
</html>
複製代碼
http://www.bank.com/transfer.php?from=a&money=1000&to=c
這時, 銀行後臺服務器從http的cookie中識別出確實是a在轉帳給c, 是合理操做。可是,a並不知情反射型xss攻擊
和存貯型xss攻擊
)XSS攻擊全稱跨站腳本攻擊,是爲不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫爲XSS,XSS是一種在web應用中的計算機安全漏洞,它容許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。html
反射型xss攻擊 正常發送消息: http://www.test.com/message.php?send=Hello
接收者將會接收信息並顯示Hello
非正常發送消息: http://www.test.com/message.php?send=<script>alert(‘foolish!’)</script>
這時接收者的窗口就會彈出foolish
彈窗。 以上,只是簡單的示例,實際上,xss攻擊能夠作得更加複雜,竊取用戶帳號密碼也是正常的前端
存貯型xss攻擊 在輸入框裏填寫you are foolish!
那麼表單裏要發送的的input框就會變成這樣 <input type=「text」 name=「content」 value="you are foolish!">
不作任何過濾的話,這個會當成正常數據入庫 當要用到這個數據,從庫取出來的時候,就會出現you are foolish
的彈窗。web
所謂SQL注入,就是經過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來講,它是利用現有應用程序,將(惡意的)SQL命令注入到後臺數據庫引擎執行的能力,它能夠經過在Web表單中輸入(惡意)SQL語句獲得一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。好比先前的不少影視網站泄露VIP會員密碼大多就是經過WEB表單遞交查詢字符暴出的,這類表單特別容易受到SQL注入式攻擊.sql
$sql = "select * from user where username = 'a' and pwd = md5(123456)
而後在前端密碼的輸入框裏填寫' or 1 = 1#
,那麼sql語句就會變成$sql = "select * from user where username = '' or 1 = 1#' and pwd = md5(123456)
#
在sql的意思是註釋,後面的sql不會再執行 因此,$sql = "select * from user where username = '' or 1 = 1
登陸成功。