参考文献:

xss.haozi.me_haoaaao的博客-CSDN博客

xss.haozi.me_沐目_01的博客-CSDN博客


前言

两年以前还是高中的时候,就开始用CSDN,看到这么多大佬的心得、经验之谈、知识总结等等,既肃然起敬,又感叹路途遥远,自己还有很长的路要走。一直都知道写题解是整理自己思路、快速掌握知识要点、融会贯通各项技能、将理论与实践结合的完美方法,可是囿于各种原因,总是没有码一份像样的wp。

作为人生第一份(严格来说是第三份,其余两个是educoder随手之作)CSDN(这倒是第一份)的文章,算是开个头,以后希望自己也能够留出时间思考整理总结。

专业和网络相关,接下啦想入门CTF竞赛,心高气傲的我盯上了PWN方向,但是一年下来,进展太少(专业课没开的情况下效率太低了),这个暑假,为了下学期某实验班选拔,决定补补WEB方向的知识,算是储备一些知识。

在B站跟着网课学,第一个相对而言算是比较全面的知识:XSS漏洞,即跨站脚本攻击漏洞。

光看不练假把式,发现一个小而精的靶场:https://xss.haozi.me

以下就是这19个题目的总结,wp。


一、0x00

Server code:

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

将输入的代码,用div标签包裹后返回。

div标签定义和用法

<div> 可定义文档中的分区或节(division/section)。

<div> 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。

div标签并不妨碍我们一般的payload

所以简单的alert(1)就好,别忘了用script标签包裹

<script>alert(1)</script>

二、0x01

Server code:

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

将输入的代码,用textarea标签包裹后返回。

定义和用法

<textarea> 标签定义多行的文本输入控件。

文本区中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier)。

textarea标签内的内容会被解释为文本

因此得想办法将执行js代码放到textarea标签之外,只要闭合textarea标签就好。

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

三、0x02

Server code:

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

将输入的部分拼接成input标签的value属性值。

定义和用法

<input> 标签用于搜集用户信息。

在特殊标签下,可以构造一些触发事件

别忘了闭合双引号。

" onclick="alert(1)

当然,因为我设置的事件是点击,所以需要点击以下输入框才能过关。

四、0x03

Server code:

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

正则表达式过滤了括号

过滤了圆括号(),但是我们仍然可以使用反引号执行.

<script>alert`1`</script>

五、0x04

Server code:

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

过滤了反引号和圆括号

我们可以通过对字符实体化编码进行绕过

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

什么时候能够用编码进行绕过?这就涉及到三种编码:HTML编码、URL编码、JavaScript编码的执行顺序以及执行情况,萌新我也是粗粗看了,并不甚了解,插个眼,之后好好学这一部分。

但是确切了解到<svg>标签后面的HTML编码会被解码,本题payload就用了这一点

六、0x05

Server code:

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

XSS 之 haozi me 题解——人生第一份CSDN题解相关推荐

  1. 人生第一份Offer,国企、私企、外企该选择哪一个?

    就业是一段旅行,一个岗位就是一个驿站,在择业过程中,看遍沿途风景.毕业季,你或许会同时收到多份Offer,比来比去,似乎还是觉得每个Offer都各有优劣.到底该如何选择? 其实作为应届毕业生,选择Of ...

  2. 大学毕业1年,从监工转行软件测试,我拿到了人生第一份8k的offer

    大家好,我是小静,是一名IT转行人,2015年毕业于某所XXXX大专,大学学的专业是土木工程,毕业也是不出意外的来到了工地,从事的是一份监工的工作,就是工地上带白帽子的,每个月拿着4000块钱的工资, ...

  3. 人生第一份跳槽面试经历

    一. 叮咚买菜 1. 一面 跳槽的第一面,问的比较简单,当时也没有记录面试过程中的问题 2. 二面 叮咚买菜公司现场面,面试官面试是跳跃性问的,没有交互的过程,问一个问题,我回答后,没有任何反应,不确 ...

  4. 程序员的第一份实习!附面试初体验

    实习经验分享,六点起床,日薪 100,坐高铁上班,为了什么? 大家好,我是鱼皮. 很多小伙伴私信问我些关于找实习的问题,比如学编程到什么程度可以找实习?到哪儿能找到实习?实习时一般都干点啥?我的技术太 ...

  5. 送给自己人生的第一份生日礼物——Java小游戏!

    摘要:本人是广东石油化工学院的一名大一学生,因对手机开发有浓厚兴趣,故趁暑假空闲时间自学了Java基础知识. 刚好今天是我二十周岁的的生日,想想也不容易,走过了二十个年头,却没送给自己任何礼物,所以今 ...

  6. 14年前,人生中编写的第一份计算机病毒。

    下午在一个废旧的移动硬盘上找到了14年前人生中编写的第一份计算机病毒,热泪盈眶.还找到了当时的文档.青涩的不行不行的.这里是GIT地址. DevilLogic病毒说明: 名称 : DevilLogic ...

  7. 【历史上的今天】6 月 30 日:冯·诺依曼发表第一份草案;九十年代末的半导体大战;CBS 收购 CNET

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 6 月 30 日.众所周知,电影发展中一个重要步骤是彩色电影于 1930 年左右引入市场,而在 19 ...

  8. 华为,我的第一份“卖身契”(笔试与面试经历)

    忙忙碌碌奔波了一个月,终于成功签订了自己的第一份"卖身契".回顾自己这一个月来找工作的历程,谈不上有多坎坷,但也让自己在这一段时间内成长了不少. 大学的时光还真的是过得很快,看着校 ...

  9. 软件开发 自学_自学11个月内如何获得第一份有薪软件开发人员工作

    软件开发 自学 by Akogwu Uche 通过Akogwu Uche 自学11个月内如何获得第一份有薪软件开发人员工作 (How I got my first paid software deve ...

  10. 毕业半年,收获人生第一个一百万,聊聊我的四年大学

    大家好,我是帅地. 双非校招拿大厂提前批 offer 在校期间从 0 到 1 摸索出一个 10 万垂直粉丝公众号 毕业半年依靠工作与副业挣到人生第一个 100 万 回过头来,帅地已经毕业一年多了,下面 ...

最新文章

  1. 8-flutter 异步和线程
  2. HTML5 学习笔记(一)- video
  3. 这所211高校通知不放寒假!校园将实行封闭管理!
  4. archlinux详细安装步骤_Archlinux 安装教程图文详解
  5. 如何对SQL Server数据库中的孤立用户和系统及用户建立映射
  6. 树莓派设置NTP同步
  7. 《数据分析实战 基于EXCEL和SPSS系列工具的实践》一3.2 用“逐步推进法”推测需要的数据...
  8. jquery 图片切换插件(初版)
  9. 中科曙光服务器配置与虚拟系统安装等优化
  10. Javascript异步操作(Promise)
  11. 【手写数字识别】基于matlab GUI知识库手写数字识别(写字板+图片)【含Matlab源码 1227期】
  12. layui select 默认选中
  13. Windows下 Java9安装教程
  14. 历史_美股和美债的联动关系
  15. 科层制的精髓是不可言说,敏捷的精髓是透明
  16. 编写第一个JSP文件
  17. 国产化服务器安装Mysql数据库
  18. mysql在test库中创建表stu_数据库mysql练习
  19. Android 程序员必须掌握的三种自动化测试方法
  20. 包青天人声接电话搞笑版铃声 包青天人声接电话搞笑版手机铃声...

热门文章

  1. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day17】—— 数据库4
  2. 物联网应用案例,中易云真实搭建项目
  3. 一个高效的积分兑换商城系统怎么搭建
  4. 每日内涵微信小程序-2-轮播图圆角
  5. GEE-Python遥感大数据分析、管理与可视化实践技术
  6. Python网络爬虫与信息提取——网络爬虫Scrapy框架
  7. html%2b怎么转换成加号,url 参数的加号变成空格处理
  8. (附源码)springboot音乐播放小程序 毕业设计 031306
  9. Gephi可视化人物关系图
  10. linux的input命令,通过xinput命令在Manjaro中启用Tap-to-click功能的方法