25、Xss跨站之原理分类及攻击方法
原理
XSS 跨站漏洞产生原理,危害,特点?
本质,产生层面,函数类,漏洞操作对应层,危害影响,浏览器内核版本等
本质
跨站脚本攻击是指攻击者往Web页面里插入恶意Script代码,当用户浏览该页时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击的目的
产生层面
前端
函数类
输出类函数
常见的输出函数有: echo printf print print_r sprintf die var-dump var_export
漏洞操作对应层
前端
危害影响
受Javascript代码影响
浏览器内核版本等
浏览器安全策略可能会阻止Js脚本执行
XSS 跨站漏洞分类:反射,存储,DOM
从产生层面,具体区别,危害等级等讲解
反射型:发包 x= xss => x.php => 回包(用后端语言进行数据处理)
存储型:发包 x=xss => x.php =>写到数据库某个表 => x.php => 回显
dom型:发包 x=xss => 本地浏览器静态前端代码 =x.php
用js代码进行处理
反射,又叫非持续型
是一个交互的过程,通过特别的包含Js代码的访问,使页面执行相应的Js代码
需要访问特定内容,或访问特定的链接才可以触发
存储,又叫持续型
与反射型相比,访问提交的Js代码被储存进了网站的数据库
每一个访问该页面的人都会触发代码执行,危害更大
DOM
文档对象模型(Document Object Model),简称DOM,代码在前端,常用于更新当前页面
客户端的脚本程序可以通过DOM动态地检查和修改页面内容,且不依赖与服务器端的交互,而是从客户端获得DOM中的数据在本地执行
如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞
DOM型一般属于反射型
测试代码:#' oncli删掉这串汉字ck="alert(2)">
上传有长度限制
如果输入的信息会上传到地址栏。可以直接在地址栏输入
审查元素,修改“maxlength”也就是长度限制
XSS 常规攻击手法:平台,工具,结合其他等
利用案例:通过在线留言、在线下单等功能进行跨站攻击,窃取管理员的cookie,登陆后台
cookie session
用户凭据:通过凭据可以判断对方身份信息
cookie 存储在本地 存活时间较长 小中型
session 会话 存储在服务器 存活时间较短 大型
00x01 js**执行**
Js是浏览器执行的前端语言,用户在存在xss漏洞的站点url后者能输入数据的部分插入js语言,服务器接收到此数据,认为是js代码,从而返回的时候执行。因此,攻击者可利用这个漏洞对站点插入任意js代码进行窃取用户的信息。
00x02 xss**攻击**
XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。
对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。
00x03 XSS**攻击的危害**
- 1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
- 2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
- 3、盗窃企业重要的具有商业价值的资料
- 4、非法转账
- 5、强制发送电子邮件
- 6、网站挂马
- 7、控制受害者机器向其它网站发起攻击(重定向语句)
- 8、窃取cookie的sessionid,冒充登录。
XSS攻击利用到最大就需要自己有台服务器用于窃取信息,还要利用一点社工,骗取别人点击恶意的链接。
00x04 XSS**漏洞的分类**
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盗走。
类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用。
一、本地环境XSS,漏洞原理讲解
在phpstudy中根目录创建1.php
<?php
$xss=$_GET['x'];
echo $xss;
?>
浏览器打开,在网址后输入?x=1,网页输出1
输入?x=<script>alert(1)</script>,弹出1
---XSS的本质:如果对方对参数进行回显,传递的参数的的代码就会被回显者的浏览器执行。即对文件显示过程出现了问题。
---本质为前端漏洞,一般执行为js代码,因此危害不大。
#执行效果跟浏览器的版本有关
---ie浏览器,弹窗被拦截
#查看网页源代码(发现被修改了)
---产生与网页前端
二、Xss漏洞各个分类差异讲解
利用pikachu靶场
1.反射型XSS(GET)
随意输入字母,发现下面出现了这段字母,网址中也出现了,这段就是输入代码的地方
可以直接在网址message=后输入<script>alert(1)</script>,弹出1
也可以在输入框中输入<script>alert(1)</script>,但是有长度限制,这里右键检查,更改代码中的maxlength长度,再重新输入弹出1
2.存储型
在留言板随意输入内容,发现显示在留言列表中,直接在留言板中添加<script>alert(1)</script>,弹出1,与反射型的区别是,每次刷新都会弹出1
3.Dom型
-应用场景:在这种存在查看更多,点击查看更多之后,网站的URL并不会改变。和其它换页不同的是,其它是通过改变URL编号来换页的。
DOM型xss-x
随意输入,点击按钮
然乎点击蓝字内容,出现了另一段话
查看网站源代码
直接在前端Javascript里执行了
Dom型xss
在输入框输入#'οnclick="alert(1)"> ,出现以下内容点击
出现弹窗1
三、Xss漏洞代码绕过靶场应用
随意留言板
在phpstudy中搭建
然后在浏览器中打开http://10.245.4.79/liuyanban,进行相应留言,在留言板中输入<BODY οnlοad="alert('XSS')">
管理员地址http://10.245.4.79/liuyanban/index.php?c=admin&a=index
管理员账号admin,密码admin888
查看留言,点击管理留言
弹出xss弹窗
四、XSS平台及工具简要演示测试
1.手动实操
登录xss平台
创建项目,输入名称和描述
点击超强默认模块
查看代码
选择一个代码输入到留言板中,一个不行换另一
输入到留言板中
管理员查看出现弹窗
右键点击检查查看网络所有,发现有 在xss平台上设置项目的地址。
查看xss平台,按理说应该有cookie,没有可能是浏览器问题或者平台问题,换条命令可以试试
这里从网络抓包中假设获取到cookie
可以利用Burp suite抓包更改cookie
模块应用基础认证钓鱼模块
点击项目配置选择这个模块复制代码,重新在留言板中提交
本地查看代码效果,创建一个1.html输入代码
在浏览器查看 啥也没有不建议使用
2.项目展示![](https://i-blog.csdnimg.cn/blog_migrate/a631b3ac28acf06d084c359b5249b2d8.png)
这里浏览器输入值下面也就显示了,符合跨站漏洞条件
输入语句,弹出1
项目勾选读取cookie,可以把创建项目代码,输入到这里
需要先登陆后台,盗取登陆的cookie
查看项目,接收到cookie
资源
xss平台:https://xss8.cc/xss.php?do=login
xss平台:https://xsshs.cn/xss.php?do=login
xss-labs:https://github.com/do0dl3/xss-labs
随意多功能留言板 SyGuestBook:http://down.chinaz.com/soft/37581.htm