码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • XSS靶场(1-11关)


    目录

    简述xss

    xss第1关

    xss第2关

    ​编辑

    xss第3关

    xss第4关

    xss第5关过滤了 on script

    xss第6关

    xss第7关

    xss第8关

    xss第9关

    xss第10关

    xss11关


    我把源代码靶场放到了最顶端

    简述xss

    XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

    xss第1关

    没有对用户进行get传参过滤

    xss第2关

    form表单

    ​​

    通过我们分析源码 得知,也是在

    再将 写入 (但是结果没有显示 )

    htmlspecialchars

    php后端 有个过滤函数 htmlspecialchars()

    htmlspecialchars — 将特殊字符转换为 HTML 实体

    • htmlspecialchars 字符转义

      字符替换后
      & (& 符号)&;
      " (双引号)",除非设置了 ENT_NOQUOTES
      ' (单引号)设置了 ENT_QUOTES 后, ' (如果是 ENT_HTML401) ,或者 ' (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。
      < (小于)<
      > (大于)>

    html又有html实体编码 又会讲转换的转回原来的

    所有我们需要逃逸出“> 这样就可以执行我们的代码

    第一种

    第二种onclick点击触发事件 (window下面的事件 移动事件)

    xss第3关

    htmlspecialchars 有这个ENT_QUOTES 就会将单引号过滤 转译

    这个东西是老师添加的

    单引号逃逸

    xss第4关

    过滤了<>

    双引号逃逸 跟第三关一样的解法

    xss第5关过滤了 on script

    我们可以写一个超链接 通过超链接执行alert(1)

    javascript:alert(1) 通过js文件来执行alert1

    a">aaa

    点击之后就执行

    xss第6关

    过滤了很多,超链接也被过滤

    大小写 就可以

    a">aaa

    xss第7关

    双写绕过

    a">aaa

    xss第8关

    过滤了很多

    但我们通过分析源码 发现 送上门的 直接会被弄成超链接

    直接写入但是被过滤

    直接html实体编码 之后html自己实体解码 转换成javascript:alert(1)

    在线Html实体编码解码-HTML Entity Encoding/Decoding (config.net.cn)

    xss第9关

    必须要有http才可以执行

    javascript:alert('http') 将http留着 剩余编码

    javascript:alert('http://')

    xss第10关

    通过源码分析 form的值被隐藏只能在url中传递参数 (t_sort可接受参数)

    逃逸单引号 点击事件解决

    问题又来了,input被隐藏 (修改类型type=test)

    xss11关

    通过火狐 浏览器 改变t_ref

    需要下载插件hackbar

  • 相关阅读:
    最详解的正则表达式------贪婪和非贪婪、转义符、分组
    Linux学习(7)——开机、重启和用户管理
    AWS DAS认证考点整理(Athena&Glue篇)
    44、echarts图形自动轮播tooltip提示,并显示高亮
    手把手教你君正X2000开发板的OpenHarmony环境搭建
    解决vue项目首行报红( ESLint 配置)和新建的vue文件首行报红问题
    Scala入门教程
    【分享】集简云新功能:集简云浏览器机器人,将任意网站页面转换为API连接器
    15——go语言中的流程控制
    Thinking in JAVA:深入理解Java编程之道
  • 原文地址:https://blog.csdn.net/weixin_65785894/article/details/140986146
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号