XSS介绍及利用学习笔记

什么是XSS

跨站脚本 英语:Cross-site scripting,为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。通常简称为:XSS

XSS是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。
这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话(session)和cookie等各种内容。
那么XSS漏洞出现的原因仍然是没有对用户的输入进行过滤。

Cookie

Cookie保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。

内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。
硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。
所以,按存在时间,可分为非持久Cookie和持久Cookie。

一般软件的存放地址:C:\Users\Y4er\AppData\Roaming

IE浏览器Cookie数据位于:%APPDATA%\Microsoft\Windows\Cookies\ 目录中的xxx.txt文件 (里面可能有很多个.txt Cookie文件)

Firefox的Cookie数据位于:%APPDATA%\Mozilla\Firefox\Profiles\ 目录中的xxx.default目录,名为cookies.sqlite的文件。

Chrome的Cookie数据位于:%LOCALAPPDATA%\Google\Chrome\User Data\Default\ 目录中,名为Cookies的文件。

Session

Session会在一定时间中存在服务端

存放在服务端的:C:/Windows/Temp

“session存放在哪里:服务器端的内存中。”指的是Tomcat保存session的方式。对于PHP而言是保存在文件中。

区别

Cookie存在客户端session存在服务端
Cookie不是很安全,攻击者可以分析你的cookie进行cookie欺骗
Cookie单个保存的数据不能超过4k

Session存在服务端所以会在一点程度上占用服务器性能

目的和手段

攻击者使被攻击者在浏览器中执行脚本后,如果需要收集来自被攻击者的数据(如cookie或其他敏感信息),可以自行架设一个网站,让被攻击者通过JavaScript等方式把收集好的数据作为参数提交,随后以数据库等形式记录在攻击者自己的服务器上。

常用的XSS攻击手段和目的有:
盗用cookie,获取敏感信息。
利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。
利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。 比如蠕虫
利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果。

猜你喜欢

转载自blog.csdn.net/solitudi/article/details/106881215
今日推荐