码迷,mamicode.com
首页 > 数据库 > 详细

XSS、CSRF、SQL注入原因分析,危害,解决方案

时间:2019-12-06 16:28:19      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:警告   NPU   验证   举例   erer   dog   http请求   cookie   取出   

一、xss

名词解释:xss指的是攻击者利用用户提交的数据没有就行过滤和转义处理的缺点,进而添加一些代码到web界面中去。利用了系统对用户的信任

危害:盗取各种账号,网站挂马,非法转账等。

造成原因:过于信任客户端提交的数据。

解决办法:对客户端提交过来的数据进行过滤,转义,正则校验。

举例:

有个表单域:<input type=“text” name=“content” value=“这里是用户填写的留言”>

1、假若用户填写数据为:<script>alert(‘dog!‘)</script>(或者<script type="text/javascript" src="./xss.js"></script>)

2、提交后将会弹出一个dog警告窗口,接着将数据存入数据库

3、等到别的客户端请求这个留言的时候,将数据取出显示留言时将执行攻击代码,将会显示一个dog警告窗口。

二、csrf攻击

名词解释:csrf(伪造跨站请求)。攻击者通过夹持用户已经登录的web网站执行攻击操作。利用 了系统对浏览器的信任

csrf攻击流程:

1.客户端请求网站A并生成一个cookie凭证保存在浏览器中。

2.客户端访问网站B,网站B自动触发客户端请求网站A。通过B网站请求网站A时,带有合法的A网站的cookie凭证。

2.A网站若只验证cookie,执行操作,则攻击成功。

解决办法:1.使用验证码2.每一个表单都有他的唯一token令牌3.验证http referer(http请求的来源地址)

三、sql注入

名词解释:攻击者把sql代码添加到程序参数里面,服务端未对参数进行应有的过滤和校验,导致攻击的sql语句被当做参数执行。

危害:利用漏洞,执行一些危险的sql语句(获取数据机密,删除修改数据)。

解决方案:

1.在表单通过js绑定一些数据类型,在服务端对数据在进行一次过滤和类型转换。

2.连接数据库时,使用预编译语句。

 

XSS、CSRF、SQL注入原因分析,危害,解决方案

标签:警告   NPU   验证   举例   erer   dog   http请求   cookie   取出   

原文地址:https://www.cnblogs.com/shuniuniu/p/11951723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!