XSS跨站

XSS跨站定义

跨站点脚本攻击,简称XSS,是指攻击者利用网站存在的漏洞,通过在网站中注入恶意脚本代码,从而使得用户在访问该网站时受到攻击。这些恶意脚本代码通常是JavaScript 代码,它们可以窃取用户的敏感信息,如用户名、密码等,并将这些信息发送到攻击者的服务器。和用户交互的地方均有可能产生跨站漏洞。

XSS跨站原理

图一
XSS攻击的本质是利用Web应用程序中的漏洞,向网页注入恶意脚本代码,然后将这些代码嵌入到网页中,当其他用户访问这个网页时,恶意脚本将会被执行。
攻击者通常会在Web应用程序的输入框、评论框、搜索框等可输入内容的地方输入特定的脚本代码,这些代码可以被Web应用程序直接插入到网页中,导致网页上的所有用户都会受到攻击。

1
是前端漏洞,感觉和SQL注入差不多,只不过注入的是js语句。js脚本能实现什么,XSS就能实现什么。

XSS跨站前提条件

1、浏览器内核版本(IE、或其他高版本浏览器禁用js脚本)。
2、js代码的编写。
XSS详解

XSS跨站分类

1、反射型(危害较小,后端语言进行数据处理)
(1)、需要用户(被攻击者)去触发,相当于一次交互的过程。
(2)、!! 发包 x=xiaodi=>x.php(根据代码类型返回相应的处理结果,返回的不一定是php脚本执行结果)=>回包
(3)、只能自己排除其他漏洞后猜测。
2、存储型(危害大)–也是后端语言数据处理
(1)、如留言板、评论区等,攻击者填入数据(js脚本)后,会存储到数据库,那么我下一次访问也会显示(查询数据库)。攻击会一直持续到数据被删除为止。
(2)、!! 发包 x=xiaodi=>x.php(根据代码类型返回相应的处理结果,返回的不一定是php脚本执行结果)=>写到数据库的某个表=>x.php=>回显。
(3)、只能自己排除其他漏洞后猜测。
3、DOM型(是反射型的一种,大部分可以看作直接给前端处理,没有给后端)–js前端语言数据处理
(1)、DOM就是在操作网站的标签或者属性,是提前预写好的,DOM可以结合前面两个。
(2)、!! 发包 x=xiaodi=>x.php(根据代码类型返回相应的处理结果,返回的不一定是php脚本执行结果)=>本地浏览器的静态前端代码=>x.php(注意:若还有其他数据给x.php才继续后续操作,否则传给前端后直接回显)=>回包。
(3)、可以通过代码自己发现。
图一
图二
图三
DOM型介绍以及重温前后端的区别:27:00
三种XSS的区别(建议多刷):35:00

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
以下形象的解释搬运自小迪安全
1.DOM型(不经过服务器,前端js代码的利用):
本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示:
Alice给Bob发送一个恶意构造了Web的URL。
Bob点击并查看了这个URL。
恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。
具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。
Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。
2.反射型:
这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。
其攻击过程如下:
Alice经常浏览某个网站,此网站为Bob所拥有。Bob的站点运行Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。
Charly发现Bob的站点包含反射性的XSS漏洞。
Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。
Alice在登录到Bob的站点后,浏览Charly提供的URL。
嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的Web站点。
3.存储型(长久型,危害最大):
该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。其攻击过程如下:
Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。
Charly注意到Bob的站点具有类型C的XSS漏洞。
Charly发布一个热点信息,吸引其它用户纷纷阅读。
Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charly盗走。
类型1直接威胁用户个体,而类型2和类型3所威胁的对象都是企业级Web应用。

XSS跨站危害

● 1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
● 2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
● 3、盗窃企业重要的具有商业价值的资料
● 4、非法转账
● 5、强制发送电子邮件
● 6、网站挂马
● 7、控制受害者机器向其它网站发起攻击(重定向语句)
● 8、窃取cookie的sessionid,冒充登录。
XSS攻击利用到最大就需要自己有台服务器用于窃取信息,还要利用一点社工,骗取别人点击恶意的链接。

XSS跨站攻击方式

XSS与cookie

就是诱使目标点击/登录某个页面,在他进入页面的一瞬间取得其cookie。这样我们便可以进入到对方的后台。
cookie:类似于身份信息,用于验证身份。
XSS与cookie(听讲知识点):54:00
XSS平台的使用:1:03:00
kali搭建BeEF联系XSS跨站

如何发现XSS跨站

1、工具扫
2、自己搭建平台XSS跨站攻击演示(略微提了一嘴如何发现):1:25:00

cookie与session

1、cookie存在浏览器 session 存在服务器
2、要管理员登录到后台的时候盗取的cookie才是真正的管理员cookie,否则只是普通用户的cookie。
3、cookie储存到本地,存活时间较长,小中型网站使用;session(占用服务器资源) 也称为会话,存储到服务器,存活时间较短,大型网站使用。
4、cookie是用户的身份证,session是服务器的用户身份核查表
5、它们都是用户凭据。
6、盗取cookie、会话(session)劫持。

小总结

1、XSS实现的条件较为苛刻,既要浏览器版本满足,要有漏洞,对方的浏览器不会拦截,对方有登陆过且留下痕迹,而且要对方触发。
2、需要配合一定社工。
3、发现存在这个漏洞可以尝试去用一下。
4、主要是对方管理员要经常登录。