嵌入式CSS或script中标签闭合对引号的突破

先看CSS:

直接上代码:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
	test{
		background: url('http://www.baidu.com/</style><h1>aaaa</h1>');
	}
	</style>
</head>
<body>
bbb
</body>
</html>

注意代码中第一个</style>的位置,测试结果:

chrome


FF


IE



chrome最终解析成的代码



同理,script标签也会出现同样的问题:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript">
	var a="aaa</script><h1>bbb</h1>";
	</script>
</head>
<body>
bbb
</body>
</html>

测试结果:


解析后的代码:



总结:

在页面中嵌入CSS或script时,</style>和</script>标签会有较高的优先级,造成对引号的突破,包括单引号和双引号,在防御此类问题时,需要特别注意对这两个标签的检查。



发布了83 篇原创文章 · 获赞 39 · 访问量 70万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章