PortSwigger篇:Cross-site scripting 跨站脚本攻击——1
前情概要 要想理解“跨站脚本攻击”(又叫XSS)的原理,就得回到其产生的根本——JS传参语句的设计缺陷 什么是JS?JS是怎么实现的?他跟网站又有什么关系?别急,让我们一步一步来 基础知识 要想理解JS的工作原理,以及其与网站的联系,就需要知道网站是怎么工作的 简而言之,我们之所以能够看到现在的网页,正是浏览器渲染的功劳 而一个完整的网页,一般都包括但不限于两种标记语言和一种编程语言,他们分别是HTML、CSS和Javascript 要想具体深入我们的XSS脚本漏洞使用,就需要先理解一下这三者之间的联系和作用分别是什么 下面我们就开始对这三者展开简单讨论 HTML HTML是一种用于创建网页的标准标记语言,可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Red的教程(redshome.top)</title> </head> <body> <h1>我的第一个标题</h1> <p>我的第一个段落。</p> </body> </html> 这是一段简单的HTML标记语句,每一个<>包括其中的内容都叫一个标签,而正常需要使用一对标签进行配对,将需要进行的动作放置在这对标签的中间,中间的这些动作就能具备这对标签的属性 如果我们将其使用.html或.htm后缀文件的形式用浏览器打开后,会发现他们二者都是可以正常打开的 所以这里我们便得到了第一个结论,html和htm是同一种格式的文件 下面我们来对各个部分进行一下解释 <!DOCTYPE html> 声明为 HTML5 文档 <html> 元素是 HTML 页面的根元素 <head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。 <title> 元素描述了文档的标题 <body> 元素包含了可见的页面内容 <h1> 元素定义一个大标题 <p> 元素定义一个段落 更多的标签使用,可以参考菜鸟教程上的HTML教程 CSS CSS又叫层叠样式表,是一种用来添加HTML文件如字体、间距等样式的标记语言。扩展名固定为.css CSS的使用与HTML紧密联系。让我们先来看一段HTML标记 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Red的教程(redshome.top)</title> <style> body { background-color:#d0e4fe; } h1 { color:orange; text-align:center; } p { font-family:"Times New Roman"; font-size:20px; } </style> </head> <body> <h1>CSS 实例!</h1> <p>这是一个段落。</p> </body> </html> 我们可以看到他的效果如下图所示 首先我们先来介绍一下CSS的常见使用方法以及CSS的基础知识。 先来看一下CSS的语句结构 ...