了解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. 谈谈JVM(基础模型)

    一,基本概念      JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈. 一个垃圾回收,堆 和 一个存储方法域.     JVM 是运行在操作系统之上的,它与硬件没 ...

  2. Ubuntu虚拟机设置共享文件夹

    Ubuntu虚拟机设置共享文件夹 注:个人笔记,小白笔记. 点击设置 进入到Ubuntu 中 cd /mnt/hgfs/ 后   我们会看到自己设置的共享文件夹.

  3. Ethical Hacking - GAINING ACCESS(10)

    CLIENT SIDE ATTACKS Use if server-side attacks fail. If IP is probably useless. Require user interac ...

  4. 为Dark模拟做出的一些微小的贡献

    这几周经过liners大佬的指导,发现自己的代码实现能力确实太过于垃圾,所以根据他的指示,我应该去多多练习一下Dark模拟,但是最近刚刚入手Dark模拟的我感到非常的吃力,所以本人今天写博客一篇来讲述 ...

  5. 尝鲜刚发布的 SpringFox 3.0.0,以前造的轮子可以不用了...

    最近 SpringFox 3.0.0 发布了,距离上一次大版本2.9.2足足有2年多时间了.可能看到这个名字,很多读者会有点陌生.但是,只要给大家看一下这两个依赖,你就知道了! <depende ...

  6. 题解 洛谷 P3210 【[HNOI2010]取石头游戏】

    考虑到先手和后手都使用最优策略,所以可以像对抗搜索一样,设 \(val\) 为先手收益减去后手收益的值.那么先手想让 \(val\) 尽可能大,后手想让 \(val\) 尽可能小. 继续分析题目性质, ...

  7. 干货分享丨玩转物联网IoTDA服务系列四-智能网关

    摘要:该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,用户可以在控制台产品详情中自定义Topic,通过应用侧接口或控制台创建数据转发规则,把设备上报的消息转发给其他华为云服务,供应用侧 ...

  8. 学习MySQL这一篇就够了

    MySQL 第一章 数据库概述 1.1.数据库的好处 将数据持久化到本地 提供结构化查询功能 1.2.数据库的常见概念 DB:数据库,存储数据的仓库 DBS:数据库管理系统,又称为数据库软件或者数据库 ...

  9. Python os.tcgetpgrp() 方法

    概述 os.tcgetpgrp() 方法用于回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组.高佣联盟 www.cgewang.com 语法 tcgetpgrp()方法语法格 ...

  10. PHP preg_grep() 函数

    preg_grep 函数用于返回匹配模式的数组条目.高佣联盟 www.cgewang.com 语法 array preg_grep ( string $pattern , array $input [ ...