前端安全问题
web安全问题.PNG目前浏览器大部分有安全防范的 老版IE有些漏洞
XSS攻击(cross site script) 跨站脚本攻击
攻击形式与案例
- 反射型 (网络钓鱼?)点击恶意链接、input恶意输入 ——新浪微博蠕虫事件
- 储存型 ——> 存储在文章中(存在转发)、操作dom —— mySpace蠕虫事件
- 储存型案例:
a. 在发表文章中嵌入script脚本等 发表时候浏览器会执行
<script>
document.getElementByclassName('XXX')[0].innerHTML="XXXX"
</script>
<a href="javascript:alert(3)">3</a>
b. mySpace蠕虫事件 05.10.4
在div style中 编写脚本 黑客自己发表的文章 别人转发时也会执行 (style中也可以运行javaScript脚本)
<div id:mycode style="width: expression(eval(document.all.mycode.expr))" expr="var B=String.xxxxxxxx.............">
</div>
- 反射型
a. 网络钓鱼 Phishing
别人模仿相同的登录页面,用户输入,获取有用信息
b. 在输入框中输入 特殊字符串
回车会 会在链接地址栏中生成特殊地址 就像图片红字所示(新浪微博蠕虫事件链接)带了t.js脚本
//input
value="张三" onclick="alert(3)""
c. 新浪微博蠕虫事件 11.6.28
xss防范
提交内容 非法字符 过滤 标签替换
CSRF攻击(跨站伪造请求) 冒充用户
攻击形式与案例
方法都需要在同源网络上 用户登录状态
- get型攻击法
- post型攻击法 ——> 表单提交
- get型案例
a. 删除用户的链接
<img src="http:' del删除用户请求'"/>
// src中地址必须与网站同源 在统一浏览器中
- post 提交表单 伪造提交 这个放在html中 用户点击则遭受攻击
<iframe name="test" style=""display:none"></iframe>
<form target='test ' method='post' action='http:提交的地址'>
<input name='action' value='zhangsan'/>
......
<input type='submit' id='submit'/ >
</form>
//自动提交
<script>
var submit= document.getElementById('submit')
submit.click()
</script>
csrf防范
- refer 请求头信息 确定地址来源
- 表单 form token 表单的唯一标识
SQL注入
注入案例
- 登录时候填写密码时 使用特殊输入 如果服务器用到了 sql查询
selcet * from user where name="张三" and password= "abc" or (1=1 and name="张三")
- 搜索时 搜索条件填写构成特殊sql
文件上传漏洞攻击(现在的介绍不是很清晰)
出现漏洞的原因:
- window系统文件命名不能出现特殊字符
- 上传有个函数 move_uploaded_file,移动文件中 遇到非法名称 自动忽略(abc:d.jpg ——> abc)
file -> temp(临时本地文件中)->目标文件夹中
方式:
上传文件中 使用代理 拦截然后修改文件名称 fiddler
文件上传漏洞防范
- 设置文件夹权限 例如:上传到img 文件夹 img文件设置为 不可执行的 或者不要放在项目当前目录下 最好建个文件夹
- 文件名称防范 用户要自动生成一个文件名
网友评论