文章目录

  • 0x01 XSS-Labs
  • 0x02 实验工具
  • 0x03 实验环境
  • 0x04 实验步骤
  • 0x05 实验分析
  • 0x06 参考链接

0x01 XSS-Labs

  XSS(跨站脚本攻击)是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
  XSS按照利用方式主要分为:反射型XSS、存储型XSS、DOM型XSS。反射型XSS是攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行,这种XSS即存储型XSS,非常危险,容易造成蠕虫,大量盗窃cookie。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞

  XSS-Labs是使用PHP编写的一个XSS漏洞练习平台,一共包含20关,其主要为反射型XSS,可以练习基础XSS的过滤和绕过技巧,且每一关的后台源码都重写了alert()方法,只要成功弹框即可调用重写的alert()方法进入下一关或完成本关测试。

0x02 实验工具

  • IE
  • HackBar

0x03 实验环境

  • 服务器:Windows Server 2008
  • 中间件:Apache
  • 客户端:Windows 10

实验界面如下图所示:

实验界面

0x04 实验步骤

  1. 禁用IE的XSS筛选器。【工具】-》【Internat选项】-》【安全】-》【自定义级别】-》【脚本:启动XSS筛选器】,设置为禁用。

    禁用IE的XSS筛选器
  2. 使用如下payload进行测试,查看参数的回显位置以及是否被转义或过滤。

    http://10.10.10.148:8203/level17.php?arg01=a&arg02=<script>alert(/onclink+src+data+href/)</script>
    
    注入点检测

    由上述操作可以推断,程序对参数中的预定义字符进行了转义,使用不含预定义字符的语句可以正常弹框,所以此处存在XSS漏洞。

  3. 构造如下所示的payload进行漏洞测试,结果如下图所示。

    http://10.10.10.148:8203/level17.php?arg01=a&arg02=+onmouseover=alert(1)
    
    注入成功
  4. 代码审计。程序源码如下所示:

    <!DOCTYPE html><!--STATUS OK--><html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <script>
    window.alert = function()
    {
    confirm("完成的不错!");
    }
    </script>
    <title>欢迎来到level17</title>
    </head>
    <body>
    <h1 align=center>欢迎来到level17</h1>
    <?php
    ini_set("display_errors", 0);
    echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
    ?>
    <h2 align=center>成功后,<a href=level18.php?arg01=a&arg02=b>点我进入下一关</a></h2>
    </body>
    </html>
    
    • 由16行代码可知:GET方法得到的参数经过htmlspecialchars()函数转义后回显到HTML页面中。
  5. 所以含有的预定义字符的注入无效,但不含预定义字符构成的XSS仍可以使用。

0x05 实验分析

  • 程序未做任何转义或过滤就将参数回显到HTML页面中,所以此关的payload非常多:

    onmouseover=alert(1)
    ...
    

0x06 参考链接

  • 跨站脚本漏洞(XSS)基础讲解

XSS之xss-labs-level17相关推荐

  1. XSS平台 XSS挑战之旅 解题记录 writeup

    XSS平台 XSS挑战之旅 解题记录 writeup level1 level2 level3 level4 level5 level6 level7 level8 level9 level10 le ...

  2. DVWA通关--存储型XSS(XSS (Stored))

    目录 LOW 通关步骤 源码分析 MEDIUM 通关步骤 源码分析 HIGH 通关步骤 源码分析 IMPOSSIBLE 源码分析 存储型XSS也叫持久型XSS,从名字就知道特征是攻击代码会被存储在数据 ...

  3. 【安全系列之XSS】XSS攻击测试以及防御

    跨站脚本攻击 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往 ...

  4. XSS学习-XSS挑战之旅(二)

    前言:之前打XSS平台时,打到了第11关就没有继续了,现在有空了就继续打咯,再增加点关于XSS的知识. 第十一关 这关坑我好长时间,看了好多博客直接给说修改Referer,给截图中都有自带的Refer ...

  5. 什么是XSS攻击XSS攻击应用场景

    XSS攻击 什么是XSS攻击手段 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表单后,展示到另一个页面,可能会受到XSS脚本注入,读取本地cookie远程发送给黑客服务器端. < ...

  6. php csrf攻击 xss区别,XSS与CSRF攻击及防御方法

    前言 web安全这词可能对于服务端工程师来说更加"眼熟",部分前端工程师并不是十分了解,今天就来讲讲XSS攻击与CSRF攻击及防御方法 XSS XSS (Cross Site Sc ...

  7. XSS入门 XSS Challenges靶场搭建/前五关/基础教程

    前面写了很多XSS漏洞的利用,这一章开始重点在XSS漏洞的挖掘和如何注入script代码上,和sql注入相类似 目录 一.实验环境--XSS Challenges 二.探测XSS过程 第一关 第二关 ...

  8. php反射型xss,反射型XSS测试及修复

    反射型XSS一般出现的位置,如GET参数中 测试搜索功能 F12查看源码,查找出现1111的位置 第一个位置在title处 尝试闭合掉title标签,然后测试JS代码,成功弹窗 查看源码,XSS执行 ...

  9. XSS Trap—XSS DNS防护的简单尝试

    安全客点评 思路挺新颖的,虽然这种防护有一定的局限性,比如攻击者用IP替代域名就绕过了,但是可以通过文中提及的XSS DNS防护方式了解到企业业务中有哪些WEB服务的XSS点正在被利用,方便排查,而且 ...

  10. 12. xss bypass xss截屏

    layout: post title: 12. xss bypass category: SRC tags: SRC keywords: SRC,XSS 前言 该篇记录为记录实际的src过程第12篇小 ...

最新文章

  1. 判断比较器Comparator和Comparable的升序降序问题
  2. memcached与spring集成
  3. python 类方法装饰器_python类装饰器即__call__方法
  4. 怎么使用mysql打表_MySQL的表使用
  5. FreeBSD portsnap方法更新ports
  6. 用栈实现中缀表达式求值
  7. python获取windows窗口的内容_Python实现遍历windows所有窗口并输出窗口标题的方法...
  8. 用计算机在作文格中打单字字,二年级信息技术第3—12课教案
  9. 揭秘中国网络虚假新闻“制造器”,看传播者如何操纵操纵大众舆论?
  10. 计算机vb中的缺省是什么意思,请问缺省.既然缺省的意思为默认可是为什么不 – 手机爱问...
  11. Exception when searching pbo at initiating workflow manually: The operation: search failed.
  12. jit java同步消除_聊聊JIT是如何影响JVM性能的
  13. 李宏毅作业十二 Transfer Learning(迁移学习)
  14. 小米电视是鸿蒙系统吗,搭载鸿蒙系统!华为正式发布荣耀智慧屏 小米电视迅速升级取消开机广告...
  15. 最新《python自动化开发网络班项目实战》
  16. Android 与 H5 数据的传递
  17. Linux的触屏软件安装,为 Linux 安装触摸屏 -电脑资料
  18. C语言界杠把子的书籍,你读过几本?
  19. IGARSS 2019点云分类挑战赛中遇到的传统方法
  20. Android Studio3.0没有Launch Standalone SDK Manager

热门文章

  1. 硬盘分区表格式GUID和MBR知识普及
  2. PDF怎么快速转换成Excel表格文件?两个方法帮你实现
  3. 【EmailCamel外贸邮件群发】邮件到达收件箱系列文章05:免费公共邮箱作为发件人的限制
  4. 数据结构分析之线性哈希表(Linear Hash Tables)
  5. 养生之道---六字气决
  6. 【andriod】设备APP开发之数据就地Excel存储
  7. Rosalind第68题:Counting Optimal Alignments
  8. win7旗舰版64位占了20多G的内存的清理方法
  9. 计算机一级excel中模拟运算,2017年计算机一级《MS Office》操作试题及答案
  10. C语言九条语句经典例题,一起温故而知新!!!