一、XSS概述

1、XSS被称为跨站脚本攻击,由于和CSS重名,所以改为XSS;

2、XSS主要基于JavaScript语言完成恶意的攻击行为,因为JavaScript可以非常灵活的操作html、CSS和浏览器

3、原理:XSS就是通过利用网页开发时留下的漏洞(由于Web应用程序对用户的输入过滤不足),巧妙的将恶意代码注入到网页中,使用户浏览器加载并执行攻击者制造的恶意代码,以达到攻击的效果。

这些恶意代码通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、Flash或者普通的HTML

4、 XSS原理图

5、 可能受到XSS攻击的位置:只要对用户的输入没有进行严格的过滤,就有可能遭到XSS攻击

微博、留言板、聊天室等收集用户输入信息的地方,都有可能遭到XSS攻击

6、实施XSS脚本攻击的前提条件

(1)、需要向Web页面注入精心构造的恶意代码

(2)、对用户的输入没有做过滤,恶意代码能够被浏览器成功的执行

7、XSS的攻击语法

8、XSS的危害

 9、XSS的分类

(1)、反射型

(2)、存储型

(3)、DOM型

DOM一般指文档对象模型。文档对象模型(Document Object Model,简称DOM

二、XSS的payload构造

1、

2、

3、

4、

三、XSS payload的变形

1、

2、

3、

4、

5、

6、


三、XSS跨站脚本的实例

在进行XSS攻击时,可以先查看网页的源代码,获取信息

打开浏览器,访问http://ip/dvwa/login.php

输入Username:admin和Password:password,登陆靶场

先把级别设置为LOW,

对反射型、存储型和DOM型进行攻击

1、反射型

在文本框内输入“<script>_alert(666)</script>”,,点击“Submit”,提交输入的payload,弹框,触发XSS漏洞

结果:弹窗XSS

2、存储型的XSS

name 那一行有字符限制,只能输入10个字符,所以我们考虑在Message那一栏进行XSS攻击

同样,输入<script>alert('xss')</script>

结果同样是XSS弹窗,但是他的数据是永久性的,写到了数据库里面,你下次打开还是会有弹窗

3、DOM型 XSS攻击,不会跟服务器有交互,直接在网页进行攻击

先随便选一个

在URL上进行XSS攻击

结果还是出现XSS弹窗

这就是LOW级别的三种类型XSS攻击


先把靶机DVWA的网站数据库复位

把级别调成Medium

1、反射型XSS攻击

我们先按低级的思路来试试看,输入<script>alert('xss')</script>

这个结果说明<script>可能被过滤了,我们可以输入<script>试试看

结果:说明<script>被过滤了

我们换个思路,试试改一下payload,改大小写,输入<sCript>alert('xss')</sCript>试试看

结果:攻击成功,出现弹窗

查看网站源码

2、存储型XSS攻击

我们还是先用低级思路试一下,输入<script>alert('xss')</script>

结果: <script>被过滤了

我们试试上一个做法,改大小写 输入<script>alert('xss')</script>

结果还是被过滤掉了,说明网站过滤大小写

我们可以考虑从Name那一栏进行入手,但是只能输入10个字符,我们可以用Burpsuite进行抓包,然后在里面设置payload

打开Burpsuite和浏览器代理,进行抓包(这里不进行演示)

设置payload,设置好点击forword,我们输入大写的<SCRIPT>,输入小写的会被过滤掉

结果:出现弹窗

3、DOM型 XSS攻击

还是跟前面的思路一样,先试试<script>alert('xss')</script>行不行

结果:没有弹窗

改大小写也不行

我们可以查看网页源码

发现可能是闭合问题

因为大小写都不行,我们改写另一种payload,基于报错机制的,如下图

结果就出来了


先把数据库清除,我们接下来把级别调成High

1、反射型XSS,我们按照上面的方法试一试,当用事件触发来攻击,发现结果成功了,跟DOM型中等难度的方法一样

输入<img src=1 οnerrοr=alert('xss')>

2、存储型XSS攻击

我们的思路还是从简单开始,发现都<script>无论大小写都被过滤,即使在Name那一行也不行,利用事件触发也不行,这时我们可以通过抓包,然后再name那一个位置设置事件触发payload

如下图:

结果:出现弹窗

3、DOM型XSS攻击

思路:我们尝试上面的方法都不行,这时我们可以尝试用注释符#,来无视我们输入的语句

总结:XSS攻击我们可以通过改不同的payload来应对不同的情况,例如小写不行改大写,大写不行换别的,payload类型上面有说到


这篇文章就写到这里了

网络安全——XSS跨站脚本攻击相关推荐

  1. xss跨站脚本攻击_网络安全xss跨站脚本攻击原理

    以下在未经授权的网站操作均为违法行为 XSS跨站脚本攻击 xss的危害 网络钓鱼,盗取各类账号密码 我们先来看一下下面的案例:先来记住一下下面中的表 我们来做一个转发 上面页面显示已经登录,但是突然页 ...

  2. [网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Python弱口令攻击.自定义字典生成,并构建了Web目录扫描器:本文将 ...

  3. 遭遇 XSS 跨站脚本攻击?稳住,这些方法可保你渡劫 | 附代码、图解

    作者 | 杨秀璋 责编 | 夕颜 出品 | CSDN博客 本文将详细讲解XSS跨站脚本攻击,从原理.示例.危害到三种常见类型(反射型.存储型.DOM型),并结合代码示例进行详细讲解,最后分享了如何预防 ...

  4. 小迪安全--xss跨站脚本攻击

    xss跨站脚本攻击 xss原理 危害 pikachu靶场 反射型xss 存储型xss DOM型xss xss平台 cookie和session 利用cookie webshell箱子 xss常见位置 ...

  5. 全网最详细XSS跨站脚本攻击,不是过来打死我!!

    XSS(跨站脚本攻击)详解 XSS的原理和分类 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, ...

  6. 渗透知识-XSS跨站脚本攻击

    XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...

  7. XSS(跨站脚本攻击)漏洞解决方案

    XSS(跨站脚本攻击)漏洞解决方案 参考文章: (1)XSS(跨站脚本攻击)漏洞解决方案 (2)https://www.cnblogs.com/boboxing/p/9261996.html 备忘一下 ...

  8. XSS 跨站脚本攻击 的防御解决方案

    XSS 跨站脚本攻击 的防御解决方案 参考文章: (1)XSS 跨站脚本攻击 的防御解决方案 (2)https://www.cnblogs.com/suwings/p/6285340.html 备忘一 ...

  9. 《XSS跨站脚本攻击剖析与防御》—第6章6.1节参 考 文 献

    本节书摘来自异步社区<XSS跨站脚本攻击剖析与防御>一书中的第6章6.1节参 考 文 献,作者邱永华,更多章节内容可以访问云栖社区"异步社区"公众号查看. 参 考 文 ...

最新文章

  1. 下载服务器 linux系统,如何搭建Linux服务器
  2. ubuntu更改默认python版本_更改Ubuntu默认python版本的方法
  3. ADO.NET 如何读取 Excel (下)
  4. javascript中实现动画是settimeout(递归)还是用setinterval好?
  5. DropdownList获取ID方法
  6. web全栈工程师进阶学习线路图
  7. 浅析redis雪崩击穿和穿透
  8. Flask 上传自定义头像_1 使用Flask Uploads
  9. 瑞萨单片机-PWM输出
  10. 程序猿生存指南-46 暴走的鸟
  11. 算法的时间复杂度 递推
  12. 企业微信禁用成员是什么意思?
  13. 【看表情包学Linux】shell 命令及运行原理 | Linux 权限 | 文件权限的修改和转让 | 目录的权限 | Sticky bit 粘滞位
  14. python 重试—retry库的使用和自定义超时retry
  15. mysql 安装与连接数据库_Mysql 安装、登录以及链接数据库
  16. 《计算机网络(计算机)》
  17. 微信群机器人方案选型
  18. 转行IT行业怎么学习比较好
  19. 视频格式那么多,MP4/RMVB/MKV/AVI 等,这些视频格式与编码压缩标准 mpeg4,H.264.H.265 等有什么关系?
  20. Dell 服务器 用板载网口访问iDrac 并设置风扇静音

热门文章

  1. 路由器局域网设置_关于海康视频监控异地访问设置一些细节的说明
  2. php 套接字 函数,php fsockopen() 函数
  3. 55从零开始学Java55之String字符串的编码
  4. 再陷抄袭风波 “快点阅读”成侵权黑洞
  5. DataGrid控件实现验证
  6. mysql 聚合函数嵌套,Mysql 聚合函数嵌套使用操作
  7. Android10.0 版本兼容
  8. _ b e g i n t h r e a d e x函数与C r e a t e T h r e a d函数
  9. Looking in indexes: xxx WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None
  10. 盘点常用的九种设计模式