了解XSS首先要了解HTML里面的元素:共有5种元素:空元素、原始文本元素、 RCDATA元素、外来元素以及常规元素。

空元素
area、base、br、col、 command、 embed、hr、img、 input、keygen、ink、meta、 param、 source、tack、wtbr
原始文本元素
script、stye
RCDATA元素
textarea、tte
外来元素
来自 MathML命名空间和SvG命名空间的元素。
常规元素
其他HTML允许的元素都称为常规元素。

常用JS事件
on Click()
on Error()
on Focus()
on Copy()
on Mousewheel()
on MouseOver()

弹窗函数:aert、 prompt、 confirm
html中使用 script标签调用弹窗函数构造弹窗语句示例:<script>alert("xss")</script>

XSS漏洞的本质是一种注入,是一种静态脚本代码的注入。
那么大体挖掘思路就显而易见了:寻找可控点参数)->尝试注入

跨站脚本出现场景分析

1:输出内容在标签内
普通标签如<pre>内

<pre>[----用户输入----]</pre>

<html>
<head></head>
<body>
<pre>
<svg onload="alert(1)"></svg>
</pre>
</body>
</html>

RCDATA标签如< textarea>内

需要先闭合Textarea标签,然后再新建标签触发XSS

<html>
<head></head>
<body>
<textarea></textarea>
<svg onload="alert(1)"></svg>
</body>
</html>

  

输出内容在标签属性中
输出在普通标签的value属性中

相关案例
<input type='text' value='[---用户输入---]'>
测试方法
1.闭合单双引号(" , ')(属性),然后定义一个新的事件,在件里执行对应的 Payload进行触发。例如上面样例,利用
方法如下
<input type="text” value=" onclick="alert(1)"> (" onclick="alert(1)为输入) 通过闭合vaue属性的双引号后。新定义了 onclick事件,只需要点击该标签即可触发 2.闭合单双引号("、')(属性)后直接闭合标签, 然后自行新建标签进行触发,例如上面样例,利用方法如下: < input type="text” value=""><svg/onload=alert(1)>"> ("><svg/onload=alert(1)>为输入) 通过闭合vaue属性的双引号后,然后再写入>闭合了前面的nput标签,然后新建了svg标签操作进行触发。

输出在src/href属性中(考虑使用协议)利用协议(常用的JavaScript协议,data协议)

<iframe src="javaScript:alert(1)"></iframe>   (javaScript:alert(1)为输入)

输出内容在script标签中:尝试闭合原js语句进行触发

输出内容在Content-type为text/javascript的响应包中尝试闭合原js语句进行触发;

输出内容在CSS代码中:IE浏览器支持CSS中的 expression,利用类似此表达式可以执行XSS。(IE678下通用):

<span style="color:1;x:expression(alert(/xss/));"></span>

XSS 渗透思路笔记的更多相关文章

  1. metasploit渗透测试笔记(内网渗透篇)

    x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...

  2. metasploit 渗透测试笔记(基础篇)

    0x00 背景 笔记在kali linux(32bit)环境下完成,涵盖了笔者对于metasploit 框架的认识.理解.学习. 这篇为基础篇,并没有太多技巧性的东西,但还是请大家认真看啦. 如果在阅 ...

  3. MSSQL站库分离情况的渗透思路

    本文转自:http://bbs.blackbap.org/thread-6203-1-2.html 1. 服务器属内网环境,站库分离,通过web.config找到数据库服务库SA帐号密码,成功添加用户 ...

  4. XSS Challenges学习笔记 Stage#1~ Stage#19

    开门见山 Stage #1 http://xss-quiz.int21h.jp/?sid=2a75ff06e0147586b7ceb0fe68ee443b86a6e7b9 这一道题发现我们写入的内容直 ...

  5. [思路笔记]WEB安全之漏洞挖掘

    记录自己在实际渗透测试以及漏洞挖掘中会用到的思路和方法.不断完善,尽量以系统的方式展现程序化式的漏洞挖掘.由于各种原因,不便公开. 通用策略 1.信息搜集 : 数据挖掘.业务挖掘 数据: 邮箱.手机号 ...

  6. XSS - Labs 靶场笔记(下)

    Less - 11: 1.观察界面和源代码可知,依旧是隐藏表单 2.突破点是 $str11=$_SERVER['HTTP_REFERER']; (本题为HTTP头REFERER注入) 3.因此构造pa ...

  7. Web渗透测试笔记(基础部分)

    信息收集: dns信息收集 格式:dns... -参数 域名 -参数 示例: root@xxSec:~# dnsenum baidu.com root@xxSec:~# dnsenum -f dns. ...

  8. kalilinux渗透测试笔记

    声明:本文理论大部分是苑房弘kalilinux渗透测试的内容 第五章:基本工具 克隆网页,把gitbook的书记下载到本地 httrack "http://www.mybatis.org/m ...

  9. XSS漏洞学习笔记

    XSS漏洞学习 简介 xss漏洞,英文名为cross site scripting. xss最大的特点就是能注入恶意的代码到用户浏览器的网页上,从而达到劫持用户会话的目的. 说白了就是想尽办法让你加载 ...

随机推荐

  1. 手把手从零开始---封装一个vue视频播放器组件

    现在,在网页上播放视频已经越来越流行,但是网上的资料鱼龙混杂,很难找到自己想要的,今天小编就自己的亲身开发体验,手把手从零开始---封装一个vue视频播放器组件. 作为一个老道的前端搬砖师,怎么可能会 ...

  2. 互联网的寒冬下各大一线互联网公司还在用SpringBoot这是为什么?

    引言 现在各大技术社区 Spring Boot 的文章越来越多,Spring Boot 相关的图文.视频教程越来越多,使用 Spring Boot 的互联网公司也越来越多: Java 程序员现在出去面 ...

  3. 学Python常用数据结构之字典

    迄今为止,我们已经为大家介绍了Python中的三种容器型数据类型,但是这些数据类型还不足以帮助我们解决所有的问题.例如,我们要保存一个人的信息,包括姓名.年龄.体重.单位地址.家庭住址.本人手机号.紧 ...

  4. Ethical Hacking - NETWORK PENETRATION TESTING(23)

    Detecting ARP Posionning Attacks ARP main security issues: 1. Each ARP requests/response is trusted. ...

  5. 《2020版Linux云计算学习图谱》帮你提升80%专业技能,在线免费领

    2亿人在家办公.视频会议的需求,给钉钉后台系统带来巨大压力.据了解,钉钉在通过阿里云紧急扩容1万台服务器后,再度扩容1万台云服务器. 受疫情影响,在家办公需求暴涨.从29号开始到2月6日,腾讯会议每天 ...

  6. C++语法小记---运算符重载

    运算符重载 运算符重载的本质也是对已有功能的扩展 运算符重载的本质就是函数重载,只是函数变成了 operator + 运算符 当成员函数和全局函数对运算符进行重载时,优先调用成员函数 运算符重载为成员 ...

  7. 题解 洛谷 P5324 【[BJOI2019]删数】

    先考虑对于一个序列,能使其可以删空的的修改次数. 首先可以发现,序列的排列顺序是没有影响的,所以可以将所有数放到桶里来处理. 尝试对一个没有经过修改的可以删空的序列来进行删数,一开始删去所有的\(n\ ...

  8. Windows下安装Python 3.X 版本

    一. Python下载 Python官方下载地址 演示下载的版本为Python 3.8.3 ,你可以根据自己的选择安装其他版本的Python 二. Python 安装 下载完安装包双击安装时出错(Wi ...

  9. spring-cloud-alibaba-sentinel和feign配合使用,启动报Caused by: java.lang.AbstractMethodError: com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidateMetadata(Ljava/lang/Class;)Ljava/util/List

    背景 我在学习spring-cloud-alibaba技术栈期间,在学习服务熔断与限流的时候,服务启动发生了以下异常 #这是控制台最上面的 sun.misc.Unsafe.park(Native Me ...

  10. Python编程初学者指南|百度网盘免费下载|Python新手入门资料

    Python编程初学者指南|百度网盘免费下载 提取码:9ozx 目录  · · · · · · 第1章 启程:Game Over程序1.1 剖析Game Over程序1.2 Python简介1.2.1 ...