web应用安全之XSS基础
来源:互联网 发布:linux特点 编辑:程序博客网 时间:2024/04/28 10:04
XSS概要
在WEB应用的网页中,有些部分的显示内容会依据外界输入值而发生变化,而如果生成这些的HTML程序中存在问题,就会滋生名为(Cross-Site Scripting)的安全隐患。
风险:
1.用户浏览器中运行攻击者的恶意脚本从而导致Cookie信息被窃取,用户身份被冒名顶替。
2.攻击者能获得用户的权限来恶意使用Web应用的功能。
3.向用户显示伪造的输入表单,通过钓鱼式攻击窃取用户的个人信息。
窃取Cookie
搜索页面可用=<script>alert(document.cookie)</script>显示会话ID(PHPSESSID)来判断搜索页面是否有XSS。
然而获得自己的会话ID并无太大意义,攻击者通常将存在隐患的网站的用户引诱到恶意网站。
举例,恶意网站的HTML使用iframe元素来显示存在隐患网站的页面,并对其实施XSS攻击,存在隐患的网站用户只要浏览了该恶意网站,浏览器中iframe里面的页面就会收到XSS攻击。
一般架构
1.恶意网站的iframe中显示出存在隐患的网站。
2.存在隐患的网站遭受攻击后,Cookie值被添加到URL的查询字符串中,页面跳转到信息收集页面。
3.信息收集页面将接收到的Cookie值通过邮件发送给攻击者。mb_send_mail.
通过JavaScript攻击
在窃取Cookie的攻击手段中,仅限于支持会员登录的网站。其实,没有登录功能的网站同样也会遭受XSS攻击。
篡改网页,恶意网页通过一些步骤篡改网页。
举例步骤如下:
1.使用</form>使原先页面form元素结束。
2.添加新的form元素,并制定style如下。
通过指定绝对坐标将form的位置定于左上角。
将z-index设置为很大的值(99),确保其堆叠顺序在原先form前面。
将背景色设为白色,从而隐藏原先的form。
3.将action的URL设为恶意网站。
对策总结
1.根本性对策
HTML的元素内容 。
使用htmlspecialchars函数转义。
最低限度防范策略。
1.元素内容中转义<和&。
2.属性值用双引号括起来,并转义<和"和&。
2.根本性策略
明确设置HTTP响应的字符编码。
header('Content-Type: text/html; charset=UTF-8');
3.辅助对策
输入校验
给Cookie添加HttpOnly属性
使用PHP开发应用时,给会话ID添加HttpOnly属性,可以再php.ini中做出如下设置。
session.cookie_httponly = On
该属性禁止JavaScript读取Cookie值。
关闭TRACE方法
这是跨站追踪XST的攻击的防范策略。XST指利用JavaScript发送HTTP的TRACE方法来窃取Cookie值或Basic认证密码的攻击手段。
不过XST利用的是XSS漏洞,所以只要消除了XSS漏洞就能保证。
实际上主流浏览器都已经自己防御XST。
在Apache中,关闭TRACE方法,可以再httpd.conf中设置:
TraceEnable off
0 0
- web应用安全之XSS基础
- Web应用安全之XSS高阶
- Web安全之XSS
- Web安全之XSS
- Web安全之XSS
- Web安全之XSS
- Web安全之XSS
- web安全之xss
- Web安全测试之XSS
- Web安全测试之XSS
- Web安全测试之XSS
- Web安全测试之XSS
- Web安全测试之XSS
- Web安全测试之XSS
- Web安全测试之XSS
- web安全之xss 攻击
- Web安全测试之XSS
- Web安全测试之XSS
- submit禁止提交的几种方式
- 定时器Timer的参数
- 蓝桥杯省赛13
- Glide 图片处理类
- android studio中xml文件报错: URI is not registered的解决办法
- web应用安全之XSS基础
- HiveSQL解析原理:包括SQL转化为MapReduce过程及MapReduce如何实现基本SQL操作
- StringBuffer何时初始化到常量池
- 欢迎使用CSDN-markdown编辑器
- 抽象类与接口的区别
- QT小程序:QtConcurrent
- PHP开发者的Linux学习之路
- android学习(十二) 分享文件 FileProvider
- Redis脚本