web安全

2015-09-14  本文已影响0人  PomeloTerminal

一.xss ( cross site scripting) 跨站点脚本攻击

指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.比如获取用户的Cookie,导航到恶意网站,携带木马等。

举个栗子

简书原来也存在xss漏洞呢~没法直接粘贴代码

alert(document.cookie)

alert(document.cookie)alert(document.cookie)alert(document.cookie)alert(document.cookie)alert(document.cookie)alert(document.cookie)
alert(document.cookie)

XSS 漏洞修复

原则: 不相信客户输入的数据

注意:  攻击代码不一定在中<script>中

1.将重要的cookie标记为http only,  这样的话Javascript 中的document.cookie语句就不能获取到cookie了.

2.只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。

3.对数据进行Html Encode 处理-------例如  < "lt"    > "rl"     &nbsp

4.过滤或移除特殊的Html标签,

5.过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。

SQL注入攻击

SQL注入攻击的原理:

使用用户输入的参数拼凑SQL查询语句,使用户可以控制SQL查询语句。

防御方法

1.使用预编译语句,

2.绑定变量

3.使用安全的存储过程

4.检查数据类型

5.使用安全函数

建议方法:不要使用拼接的sql,使用占位符,例如使用JdbcTemplate,

下面给出一种解决方法:用下面的各种函数代替拼接sql的出现

上一篇下一篇

猜你喜欢

热点阅读