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
登陆成功。