当前位置:网站首页>安全作业7.25
安全作业7.25
2022-08-01 19:20:00 【F75559】
跨站脚本(XSS)是在Web渗透测试中发现的最常见的漏洞之一。但是,根据注入点的位置不同,对攻击字符可能会存在各种限制。将展示利用unicode的兼容性来绕过限制,进行XSS攻击。
字符长度20,不限制关键词script,怎么绕过
script,标签可以引入js文件
unicode编码特性 TEL 浏览器把它认为一个字符 unicode编码可以变短的字符有
35个字符限制 svg标签还没有被限制
sr.co也是自己要买的
默认的index.html
在默认的华为云服务器上安装beef,查看beef
在华为服务器上解析并且绑定telsr.co www.telsr.co
利用beef实现实现长度限制。一定要把短域名放进html里面
还有一种域名重定向 35个字符限制 svg标签还没有被限制
xsshunter
把hook重定向到html 里面
查看一下域名dns解析的重定向
20个字符重定向 不限制关键词script,
通过phpinfo 获取cookie突破httponly.md
黑盒测试:不知道源码的情况下,进行摸索测试
白盒测试:知道源码的情况下,对源码进行测试 审计
对level进行尝试
直接进行script尝试
输出的script在value的括号里面
闭合或者进行onclick点击事件进行。写入
level3
审计源码
htmlspecialchars的过滤 字符进行转义
用的单引号 aaa’ οnclick='alert(1)
level4
用script试一试发现是过滤尖括号。
level5
script 和onclick都不行
有on开头的也不行
a标签搞定
level6
on不行 href javascript也不行
大小写以及闭合就成功了
如果添加了大小都控制的语句 strtolower($str).就不行了
level7
script onclick 大小写都不行
双写成功了
level8
关键字 大小写 闭合不行
放入urlcode实体编码就成功了
高阶知识点:
解析的编码顺序
html实体编码
urlcode编码
js的实体编码
href里面是urlcode,用urlcode编码写上了
html实体编码可以弹窗
urlcode编码不可以弹窗(如果要用urlcode协议,不可以编码,识别不了)
html实体编码+urlcode编码 可以弹窗
只是把冒号urlcode编码了 ,js协议,urlcode识别不了,不弹窗
一个HTML解析器作为一个状态机,它从输入流中获取字符并按照转换规则转换到另一种状态。在解析过程中,任何时候它只要遇到一个’<‘符号(后面没有跟’/'符号)就会进入“标签开始状态(Tag open state)”。然后转变到“标签名状态(Tag name state)”,“前属性名状态(before attribute name state)”…最后进入“数据状态(Data state)
这里有三种情况可以容纳字符实体,“数据状态中的字符引用”,“RCDATA状态中的字符引用”和“属性值状态中的字符引用”。在这些状态中HTML字符实体将会从“&#…”形式解码,对应的解码字符会被放入数据缓冲区中。
在问题4中,“<”和“>”字符被编码为“<”和“>”。当解析器解析完“
脚本并不会被执行。原因是解析器在解析这个字符引用后不会转换到“标签开始状态”。正因为如此,就不会建立新标签。因此,我们能够利用字符实体编码这个行为来转义用户输入的数据从而确保用户输入的数据只能被解析成“数据”。
在HTML中有五类元素:
空元素(Void elements),如,
,等等原始文本元素(Raw text elements),有
五类元素的区别如下:
空元素,不能容纳任何内容(因为它们没有闭合标签,没有内容能够放在开始标签和闭合标签中间)。
原始文本元素,可以容纳文本。
RCDATA元素,可以容纳文本和字符引用。
外部元素,可以容纳文本、字符引用、CDATA段、其他元素和注释
基本元素,可以容纳文本、字符引用、其他元素和注释
textarea>和标签中的字符引用会被HTML解析器解码。在解析这些字符引用的过程中不会进入“标签开始状态”<br/> 唯一能够被解析器认做是标签的就是“”或者“ ”。因此,在“”和“”的内容中不会创建标签,就不会有脚本能够执行<br/> img标签在div正常情况下可以解析,但是现在解析不了<br/> <img src="https://img-blog.csdnimg.cn/9ae3294794ba49f89008452b97a55da8.jpeg#pic_center" alt="在这里插入图片描述"/><br/> 唯一能够被解析器认做是标签的就是“ ”或者“”。因此,在“”和“”的内容中不会创建标签,就不会有脚本能够执行<br/> <img src="https://img-blog.csdnimg.cn/a41793ea562a4a9984c7e40c18008850.jpeg#pic_center" alt="在这里插入图片描述"/>
第七个 进行html实体编码 ‘ 可以进行弹窗
js编码可以容纳urlcode编码 但是编码的是单引号 js是不可以编码符号的 弹窗失败
html编码成alert,但是原始文本元素(Raw text elements),有
编码的括号,urlcode不能编码符号 失败
urlcode不能编码符号 失败
12的jscode 字母需要引号 数字不用。进行urlcode编码后变成字符串了 缺少引号。没有引号,不能识别字符串
14的 \u00a在js里面是换行 = \n 直接执行.但是有引号括起来了 成功
先用html实体解码 javascript通过urlcode识别,又继续js实体编码 得到 javascript:alert(15)
边栏推荐
- 对于web性能优化我有话说!
- 选择合适的 DevOps 工具,从理解 DevOps 开始
- ThreadLocal讲义
- 手撸代码,Redis发布订阅机制实现
- 数据库系统原理与应用教程(071)—— MySQL 练习题:操作题 110-120(十五):综合练习
- From ordinary advanced to excellent test/development programmer, all the way through
- Screenshot of Selenium in Remote
- How to query database configuration parameters in GBase 8c, such as datestyle.What function or syntax to use?
- [pyqt5] Custom controls to achieve scaling sub-controls that maintain the aspect ratio
- Become a Contributor in 30 minutes | How to participate in OpenHarmony's open source contributions in multiple ways?
猜你喜欢
随机推荐
How to record and analyze your alchemy process - use notes of the visual artifact Wandb [1]
1065 A+B and C (64bit)
LeetCode 0152. Product Maximum Subarray: dp + Roll in Place
DAO development tutorial [WEB3.0]
LeetCode 1374. Generate an odd number of each character string
Industry Salon Phase II丨How to enable chemical companies to reduce costs and increase efficiency through supply chain digital business collaboration?
ExcelPatternTool: Excel form-database mutual import tool
首篇 NLP 领域图神经网络综述:127 页,从图构建到实际应用面面观
odoo+物联网
驱动上下游高效协同,跨境B2B电商平台如何释放LED产业供应链核心价值?
modbus bus module DAM-8082
XML配置
【LeetCode】Day109-the longest palindrome string
明日盛会|ApacheCon Asia 2022 Pulsar 技术议题一览
升哲科技携全域数字化方案亮相2022全球数字经济大会
ClassID的计算中,&表示啥意思
What should I do if the Win11 campus network cannot be connected?Win11 can't connect to campus network solution
DAO开发教程【WEB3.0】
ssh & scp
MLX90640 Infrared Thermal Imager Temperature Measurement Module Development Notes (Complete)