iis 7.5 php 防止跨站,iis安全---防范XSS跨站式脚本攻击

iis安全---防范XSS跨站式脚本攻击

网站要怎么防范常见的XSS跨站式脚本攻击呢,我们先从XSS跨站式脚本攻击的原理来说起。

网站遭受XSS跨站式脚本攻击的基本原理

1.本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。

其攻击过程如下所示:

A给B发送一个恶意构造了Web的URL。

B点击并查看了这个URL。

恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在B电脑上。

具有漏洞的HTML页面包含了在B电脑本地域执行的JavaScript。

A的恶意脚本可以在B的电脑上执行B所持有的权限下的命令。

2反射式漏洞,这种漏洞和本地利用漏洞有些类似,不同的是Web客户端使用Server端脚本生成

页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户

端代码便能够注入到动态页面中。

其攻击过程如下:

A经常浏览某个网站,此网站为B所拥有。B的站点运行A使用用户名/密码进行登录,并存储敏

感信息(比如银行帐户信息)。

C发现B的站点包含反射性的XSS漏洞。

C编写一个利用漏洞的URL,并将其冒充为来自B的邮件发送给A。

A在登录到B的站点后,浏览C提供的URL。

嵌入到URL中的恶意脚本在A的浏览器中执行,就像它直接来自B的服务器一样。此脚本盗窃敏

感信息(授权、信用卡、帐号信息等)然后在A完全不知情的情况下将这些信息发送到C的Web

站点。

3存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻

击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括

了Web服务器的管理员。

其攻击过程如下:

B拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。

C注意到B的站点具有存储式的XXS漏洞。

C发布一个热点信息,吸引其它用户纷纷阅读。

B或者是任何的其他人如A浏览该信息,其会话cookies或者其它信息将被C盗走。

类型A直接威胁用户个体,而类型B和存储式漏洞所威胁的对象都是企业级Web应用。

网站遭受XSS跨站式脚本攻击的基本方式

1. DOM-based cross-site scripting

页面本身包含一些DOM对象的操作,如果未对输入的参数进行处理,可能会导致执行恶意脚本

。如下面一些DOM操作:

document.URL

document.URLUnencoded

document.location (and many of its properties)

document.referrer

window.location (and many of its properties)

举个例子,假如某个脆弱的页面的代码如下:

Welcome!

Hi

var pos=document.URL.indexOf("name=")+5;

document.write(document.URL.substring(pos,document.URL.length));

Welcome to our system

攻击者使用如下的URL访问时,则非常危险:

试了一下,貌似IE、FireFox等浏览器默认 对进

行了编码,阻止了脚本的执行。但是对于 DOM操作还是要更加谨慎啊,比如把上面的页面修改

一下,安全性就增强了不少:

var pos=document.URL.indexOf("name=")+5;

var name=document.URL.substring(pos,document.URL.length);

if (name.match(/^[a-zA-Z0-9]$/))

{

document.write(name);

}

else

{

window.alert("Security error");

}

2. Reflected cross-site scripting

也被称为None-Persistent cross-site scripting,即,非持久化的XSS攻击,是我

们通常所说的,也是最常用,使用最广的一种方式。它通过给别人发送带有恶意脚本代码参数

的URL,当 URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化

,必须用户点击带有特定参数的链接菜能引起。

3. Persistent cross-site scripting

持久化XSS攻击,指的是恶意脚本代码被存储进被攻击的数据库,当其他用户正常浏

览网页时,站点从数据库中读取了非法用户存入非法数据,恶意脚本代码被执行。这种攻击类

型通常在留言板等地方出现。

实施方式

我们来试一把Reflected cross-site scripting。当我们在某网站输入参数XXX,发现参数XXX

原样的出现在了页面源码中:

OK,可以开始做文章了,我们将XXX替换为:abc"/>

href=",返回的HTML代码如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/385848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java春招实习面试经验汇总,面试篇

Part1 SpringIOC 学习Spring最重要的无非是Spring IOC以及Spring AOP,首先咱们把Spring IOC吃透,以下内容将截图展示。 Spring IOC主要学习内容分为以下7点: ①Spring框架 ②Spring lOC容器Bean对象实例化模拟实现 ③Spring IOC容器Bean对象…

Java最新大厂面试真题总结,瞬间高大上了!

什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。 普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个…

php列表框怎么用,PHP+Mysql+jQuery查询和列表框选择操作实例讲解

这篇文章主要介绍了PHPMysqljQuery查询和列表框选择操作实现过程,需要的朋友可以参考下本文讲解如何通过ajax查询mysql数据,并将返回的数据显示在待选列表中,再通过选择最终将选项加入到已选区,可以用在许多后台管理系统中。本文列…

Java未来路在何方?图文详解!

Spring Security观后感——手绘思维脑(供参考) Spring Security手绘思维脑图 手绘的思维导图,是我自己根据自身的情况读完这套阿里出品的Spring Security王者晋级文档之后所绘的,相当于是一个知识的总结与梳理,我将其分为***“核心组件”与“…

matlab怎让3d旋转,如何在MATLAB中平滑旋转3D绘图?

我会说这是你正在绘制的大量积分导致经济放缓.一个选项是缩减采样..也可以使用较低级别的功能进行绘制(检查this related post以获得plot3 / scatter3 / line性能的比较).考虑以下针对速度优化的动画:[X Y Z] sphere(64);X X(:); Y Y(:); Z Z(:);%# set-up figu…

Java未来路在何方?挑战大厂重燃激情!

字节跳动一面: 自我介绍,主要讲讲做了什么和擅长什么看你项目做Spring比较多, 问一下Spring相关的东西, IoC是什么概念?Bean的默认作用范围是什么?其他的作用范围?索引是什么概念有什么作用? MySQL里主要有哪些索弓|结构?哈希索弓和B树索引比较?平常用线程主…

php如何修改文件名,php修改文件名的实现方法_后端开发

c是什么意思_后端开发C是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。php修改文件名的实现方法在php中可以使用rename函数修改文…

Java架构师必备框架技能核心笔记,工作感悟

01 kafka入门 1.1 什么是kafka 1.2 kafka中的基本概念 1.2.1 消息和批次 1.2.2 主题和分区 1.2.3 生产者和消费者、偏移量、消费者群组 1.2.4 Broker和集群 1.2.5 保留消息 02 为什么选择kafka 2.1 优点 2.2 常见场景 2.2.1 活动跟踪 2.2.2 传递消息 2.2.3 收集指标和日志 2.2.…

java将某个数按比例分配应用题,按比例分配应用题

按比例分配(一)1、甲乙两数的和是72,甲乙两数的比是4:5,甲、乙两数各是多少?。2、一个等腰三角形,顶角和一个底角的比是1:4,这个三角形两个底角各是多少。3、六(1)班有女生24人,女生和男生人数的比是4:5&am…

Java架构师必备框架技能核心笔记,附相关架构及资料

技术焦虑 现在的技术圈子很火热,任何技术点,任何知识,只要你肯搜索,都能找到资料。但是现在技术圈确实有一个不好的地方,就是贩卖焦虑。这种贩卖焦虑的点并不在于形式,而是一种普遍的心态。特别是对于那种…

php智能裁剪黑边,图片裁剪去除黑边

前言从浏览器保存的图片有透明度,但是python打开其透明通道是黑色的,因此我利用python的OpenCV模块去除了其上下左右的黑边。效果展示计算机中效果python打开效果python裁剪后效果代码import cv2def change_size(read_file):image cv2.imread(read_file…

Java架构师教你如何突破瓶颈,持续更新中

1、上下文切换 上下文定义 cpu发生进程或者线程切换时,所依赖的数据集合,比如一个函数有外部变量,函数运行时,必须获取外部变量,这些变量值的集合就是上下文。 引发问题 对于CPU密集型任务,多线程处理会…

matlab dwt 多层分解,利用matlab对图片进行多层小波分解 会的加QQ511607771 加过作图之后积分加倍送...

利用matlab对图片进行多层小波分解 会的加QQ511607771 加过作图之后积分加倍送mip版 关注:96 答案:2 悬赏:0解决时间 2021-01-23 13:02已解决2021-01-23 04:23(Haar小波、Daubechies小波、Coiflets小波和Symlets小波) 三层分解下的去噪图可以直接发信息15836900853 立马上线…

Java校招面试经验汇总,最终入职阿里

一面 自我介绍项目中的监控:那个监控指标常见的有哪些?微服务涉及到的技术以及需要注意的问题有哪些?注册中心你了解了哪些?consul 的可靠性你了解吗?consul 的机制你有没有具体深入过?有没有和其他的注册…

matlab确定位置,Hurlin 的PSTR模型包,怎样确定位置参数个数

http://www.runmycode.org/companion/view/2564我用的是这个包1.怎样确定位置参数个数?2. 门限变量也是解释变量时,结果中(结果如下)的warning 是什么意思?3. 这个包中是否能够把门限变量也作为解释变量?我跑出的结果是这样的&…

Java校招面试经验汇总,看完直接跪服

美团技术一面20分钟 晚7点,因为想到下周一才面试,我刚准备出去打个羽毛球,北京的电话就来了。面试官各种抱歉,说开会拖延了。 1、自我介绍 说了很多遍了,很流畅捡重点介绍完。 2、问我数据结构算法好不好 挺好的&…

nginx alias php 404,Nginx配置静态服务器以及404问题解决,root和alias的区别

最近在使用Nginx配置一个图片静态服务器来通过http请求访问图片,在配置的时候,发现遇到访问有404的问题,结果发现是在配置路径的时候,和路径属性是root还是alias的有关。nginx配置文件server {listen 88;server_name localhost;#c…

Java框架体系架构的知识,轻松拿下offer

算法 ⼏道常⻅的字符串算法题总结最⻓公共前缀回⽂串两数相加翻转链表链表中倒数第k个节点删除链表的倒数第N个节点合并两个排序的链表剑指offer部分编程题跳台阶问题变态跳台阶问题⼆维数组查找替换空格题⽬描述:数值的整数次⽅调整数组顺序使奇数位于偶数前⾯链表…

php函数网,php函数

时间相关1.time(),可获得当前时间的时间戳.2.strtotime(),可将一个文本类型的datetime转化成时间戳.3.格式输出:比如输出时间为01/31/2011date(m/d/Y,时间戳).再如: date ( Y-m-d H:i:s , 时间戳 ); 2011-01-31 04:20:59.输入输出相关echo sprintf("%.2f",0.24236); …

java开发学生管理系统,看这篇足矣了!

20道常见MySQL数据库面试题解析 事务四大特性(ACID)原子性、一致性、隔离性、持久性? 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别? MySQL常见的三种存储引擎&#…