- 3
- 0
- 约8.44千字
- 约 21页
- 2017-03-18 发布于贵州
- 举报
Browser Security-超文本标记语言(HTML) 重要的4个规则: 1 符号不应该出现在HTML的大部分节点中。 2 尖括号是不应该出现在标签内的,除非为引号引用。 3 在text节点里面,左尖括号有很大的危害。 4 引号在标签内可能有危害,具体危害取决于存在的位置,但是在text节点是没有危害的。 文件解析模式 在任何HTML文档中,最开始的!DOCTYPE用来指示浏览器需要解析的方式,同样也可使用Content-Type头来告诉浏览器。 一般情况下,浏览器中的解析器会尝试恢复大多数类型的语法错误,包括开始和结束标记。 在XML中,是非常严格的,所有标签必须有对应的开始关闭,也可以有自动关闭如img/也是允许的。 了解HTML解析 Entity编码 HTML解析器在建立文档树的时候会针对节点内的Entity编码解码后传输。 以下两个表示相同: img src=http://www. img src=ht#x74;p#x3a;//www. 下面两个例子代码不会执行,因为,编码的是标签本身的结构而非节点内的内容: img src#x3d; img s#x72;c=http://www. Fuzzing 对一个普通的HTML进行Fuzzing测试: a href=“/”Click me/a看一下可以Fuzzing的位置 可以使用php代码进行快速测试,例如我们对第一个位置(的右边)进行Fuzzing: ?php for($i = 0; $i = 255; $i++) { $character = chr($i); # 右边进行测试 echo div.$character.a href=/.$i./a/div; } ? 上面的代码只测试了256个字符,如果想要测试Unicode的所有字符,则需要创建65536个链接。 php默认字符是ISO-8859-1作为默认的字符编码,而这种编码只有256个字符,所以单纯的循环65536遍是没用的。 所以采用Entity编码方式循环,解码后输出: ?php for($i = 0; $i = 65535; $i++) { $character = html_entity_decode(#.$i.;, ENT_QUOTES, UTF-8) # 右边进行测试 echo div.$character.a href=/.$i./a/div; }? 有一个有趣的现象是几乎所有浏览器对$#33;即!,浏览器会!当成注释的开始,然后自动补齐剩下的代码,浏览器解析后的代码: div!--a href=/--33/div 针对标签名的Fuzzing L? onclick=alert(1)click me/L?上面的代码,在Chrom、Firefox和Safari中点击,可以顺利弹出1。 讨论一下空字符的问题,IE浏览器会自动忽略空字符,并解析剩下的代码,这样会绕过很多采用正则匹配黑名单字符串的过滤器。 并且,很多函数和库并没有意识到这个问题: ?php echo im.chr(0).g sr.chr(0).c=x onerror=ale.chr(0).rt(1); ?用IE8打开上述代码的网页,查看源代码只能看到im后面的字符都隐藏了。 还有两种方式可以对标签名Fuzzing,第一种是涉及字符集的问题,第二种是针对php中在过滤之前使用了utf8_decode()函数。 ?php header(Content-Type: text/html;charset=Shift_JIS); for($i = 1; $i = 255; $i++) { $character = html_entity_decode(#.$i.;, ENT_QUOTES, UTF-8); $character = utf8_decode($character); echo $character.123456 .$i.br\r\n; } ? 代码很简单,设置返回响应字符集为Shift_JIS,然后把utf-8转换为Shift_JIS字符集。 可以看到在IE中129-159和224-252中,123456中的1消失了,与前面的字符合并成一个字符了。 标签后面也可加入/符号做间隔: img/src=x onerror=alert(1)尝试在标签与/之间再插入其他字符来测试,由于空字符无法直观显示,所以用\0来表示null,同样主流浏览器都可以执行: img\0/src=x onerror=alert(1)再尝试ASCII码之外的字符,这种字符在正则表达式中\w是无法匹配到的,主流浏览器都可以执行: img/ \/\μ src=x onerror=alert(1)//测试发现,标签名与属性名直接只要是以/开头以/或
您可能关注的文档
- 1112011年高考化学轮 精品讲练析:《离子反应》1112011年高考化学一轮 精品讲练析:《离子反应》.doc
- 20141208-中西方化对比-中美电视剧文化差异20141208-中西方文化对比-中美电视剧文化差异.ppt
- 2009041021017+黄志东+水壶盖注射模设计++++20090410210127+黄志东+水壶盖注射模设计++++.doc
- 08002003_李杨_文1论文1.doc
- abaqus常见操作问题.doc
- accumulate13两会双语热词收集word7accumulate13 两会双语热词收集word7.doc
- 2012043038 何__实验01 sql server 2000安装2012043038 何超__实验01 sql server 2000安装.doc
- access数据库基础知识.ppt
- abaqus 孤立网格aaqus 孤立网格.ppt
- acronis diskdirector 11 分区软件说明acronis disk director 11 分区软件说明.doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 2021届高考物理三轮冲刺重难点训练:磁场(解析版).pdf VIP
- IDC数据时代2025白皮书_数据时代2025资源The Digitization of the World From Edge to Core.pdf VIP
- 《民航服务心理学(第2版)》项目二(改).pptx
- 民航服务心理学(第2版)严光玉课后习题答案.pdf VIP
- 《民航服务心理学(第2版)》课程标准.docx VIP
- 高考物理压轴题.pdf VIP
- 【高考真题】2023年新高考物理真题试卷——湖南卷(含答案).pdf VIP
- 欧洲规范-NF P18-561-中文版.pdf VIP
- 调相机系统构成及原理培训教材(课件49张).ppt VIP
- 2024届浙江省杭州市高考一轮复习培优提升卷(一)语文试卷含答案.docx VIP
原创力文档

文档评论(0)