xss跨站达到原理,危害和特点

他和语言没有太大关系,它大部分都是属于一个前端的漏洞,搭建一个简易的php网站存在xss跨站漏洞

访问这个网站,x=1,就输出1,

如果我们把x=<script>alert(1)</script> ,这是javascript代码,这个可以被浏览器识别和执行。

出现一个弹窗,弹窗的内容是1,而上传那一串是代码,浏览器会把那个代码执行,执行结果alert就是弹窗,1是控制弹窗的值,所以这里看到的就是弹窗一个效果,这就是一个简易的跨站漏洞。

原理就非常简单了就是一个可以控制一个变量,和可以输出出来的环境,就是代码或文件对数据进行显示或者调试出现的安全问题,我们在访问网站的时候会显示出来内容,如果这个内容收你控制的话,就可以让他显示其他内容,其他内容如果是javascript   所控制的,这个页面中给就会执行javascript的代码,javascript就是js代码,js代码是可以做一些常规的,比如用js去获取一些浏览器的信息,所访问网站的信息。

本质就是产生在前端,js代码上的漏洞,他这里执行的通常都是javascript代码,就是就是代码,js代码能干吗,他就能干嘛。一般常见的输出型函数会和他有关系,凡是输出的函数,他输出一个变量或者你能控制的值,这个地方就是产生跨站的漏洞的地方。危害就会收到javascript的代码语句影响,也就是说这个代码想实现什么攻击,通过js代码实现。浏览器内核版本也会决定这个漏洞的情况,刚刚火狐可以执行,

但是切换到ie浏览器就不可以了。

这就是跨站漏洞鸡肋的地方,跨漏洞有很多前提条件,最简单就是浏览器版本是否符合,会决定是否能执行,js代码是脚本,有一些浏览器本身有安全策略,会阻止一些js脚本执行,如果对方浏览器有检测的话,即使有漏洞也没办法执行。

他的原理就是一些输出类型函数,刚好有我们可以更改的变量,我们修改为js代码,如浏览器去执行一些命案操作。

xss跨站漏分类,反射(非储存)性,储存(持续)性,dom性

打开pikachu的靶场,演示一些反射性

在那个白框里面输出什么就会返回一个值,我们在白框里面输入js代码,就会被浏览器所识别和执行,

他这里有长度限制,打不了了,可以在

我输出地址发现,上面的网址会发生相应的变化,我们就可以把js代码输入到网址上来,

把这里的长度限制改成210,也可以。输入代码<script>alert(1)</script>,点执行,就显示出来了。

 这种类型称之为反射性。

我们再看一些储存性

我们在里面属于1和2,就会出现在留言列表里面,<script>alert(1)</script>

输入这个代码执行,就会出现弹窗属于一的值,然后就会出现一种情况,刷新一下网址

两个的区别就是一个一直在攻击,一个没有,储存性我们为什么叫储存或者就是持续,就是这个攻击会一直下去,

造成持续的原因,因为他那个是留言板这个东西,我们在之后去访问可以看到之前的留言,我们把跨站语句写成留言,下一个访问的也会看到留言,也会执行,这种情况就称之为储存性,因为这个留言相当于写到了数据库里,攻击就一直持续到数据被删除结束。反射性是这里有漏洞,不去鼓噪就无法触发这个漏洞,会正常的访问,我们可以复制之前攻击的网址,在去访问也会直接攻击。两者的第一个区别就是攻击数据不会储存到对方的数据库里面去,储存性危害大一点,他会一直攻击。

dom性

打开测试靶场演示一下

查看一下网址有没有变化,

点一下出来的语句,是从dom树取出来的,查看网页源码,

带你那个有哪些费尽心思,就会触发鼠标事件onclick,指向domxxs,就回到上面来dom形式上上了,执行这个javascript代码。dom跨站的操作就在htm代码里面实现的这种atm,java式的代码,服务的和客户端看到的代码结果是一样的,而php的给客户端看到的是执行后的结果代码。

这个代码在htm里面,操作的网址本身的源代码,前端语言java,来实点一下出现别的东西的,这就是一个dom的跨站。

总结一下过程

反射型

比如可定义的是x,就把x=xiaodi,然后发出数据包x=xiaoid,到对方的x.php的文件上去,然后x.php给一个回显。

储存型

比如可定义的是x,就把x=xiaodi,然后发出数据包x=xiaoid,对方会先把它储存到数据库某一个表里面,然后在返回给x.php,之后回显出去

dom型

比如可定义的是x,就把x=xiaodi,然后发出数据包x=xiaoid,然后直接给了本地浏览器前端代码,在通过其他的给x.php,然后在回显出来。

dom型呢就是说数据给的是前端的代码,不是给的php代码,脚本代码,操作就是给到前端去了,直接给htm代码去处理了,没有给php去处理,

我们看一下那关的源码,test是传参数给他的,输入个1,test=1

test有值之后,就会执行下面的$html代码,就会去调用donxss这个函数,

var声明变量,text就是接收数据的,然后就到下面的函数,getelementbyid(dom)就是操作dom,后面给了个地址就等于xss,那个a href相当于点了那个地址就执行前面的参数,

在这个靶场里面,点这个是不会再发送数据包的,所以点了之后就直接在前端代码执行了,根本没有去到x.php里面去。

dom型可以在浏览器访问代码中分析出来有没有,而反射型和储存型除了你测试之外,不可能看到源代码。

dom型大部分都属于反射型的一种。

大家现在都知道,是一种输出型的漏洞,哪有什么是我们可以输入的时候,留言板是一个最经典的,还有购物的时候需要我们填写很多信息。我们打开一个在线购买的网址,网址的后台就是用来看到购买人的信息,什么时候发货,什么时间下单的,这些信息是我们个人填写的,对方在看你订单的信息的时候,是不是就相当于把你的信息在页面中展示,这时候写个跨站代码,对方就会执行跨站代码,以前最习惯的跨站攻击就是搞这种上去

。而我们的攻击的时候乱写个订单信息和攻击代码,然后网站后台去查看订单信息的一可垃圾信息可能没当回事,但在他查看订单信息的一刹那,跨站攻击就已经执行成功了,可以获取后台的网站,或者后台的管理者账号密码。

用这个留言板作为测试网站

直接在留言板哪里写个跨站语句<script>alert(1)</script>,点击留言,发现这个浏览器有过滤,跨站语句没有执行。

所以我们换一个可以绕过的语句,

之后在管理员界面点开查看留言,就会出现跨站执行

而那个留言的语句上面还看着是正常的留言,但已经在网页源码里面已经执行了。

如果我们把语句换成恶意攻击语句,直接就会盗取shell的,这里演示一下,就要提一下xxs跨站平台,专门来利用跨站漏洞的外网的一个平台,大部分都是免费的,自己也可以搭建一个,如果用对方的平台,那攻击出来的结果也都会储存到它的那边去.

我们打开一个xxs跨站网站用一下,进入之后可以自由选择攻击的东西,也可以选择默认选择,这里就选择的默认选择,我想获取cookie

选择默认之后给的代码

这些代码都可以直接使用,因为刚刚的网站有过滤,我们选择的是最下面的那串代码,而输入这个在对方查看管理员账户密码的时候就会执行,但是网站可能有拦截,所xss跨站网站上面没有回显出来。

老师进入了自己写网站代码的虚拟机,然后在源码上加了跨站代码,登陆后台地址

查看网站源码的时候看到跨站代码执行成功了 平台里面就有了信息。

但是cookie并没有回显出来,可能是网站上有过滤,测试一下,这个无所谓了,假如说我们已经获取到可cookie之后我们该如何突破呢,

这里把cookie修改成获取的cookie,上面地址改为后台地址,发送出去就是对方的后台地址,这个老师下节课演示,现在只是演示一个攻击的过程。

老师打开了另一个网站,这个网站上面有跨站漏洞

随便点开一个图片,这里演示一下怎么发现网站有跨站的漏洞,

在网站后面加一个单引号 ,在去访问

它报了个错误,而这个错误有显示,这就是可以显示出来的地方,符合跨站漏洞,

我们在网站后面加上跨站语句再去访问一下,夸张语句执行成功了。这就可以当作跨站写入的地方。

这里换一个xxs跨站平台方法,获取到跨站语句,然后注入在那个后面直接访问呢,但是在火狐浏览器里面跨站平台没有得到回显,查看数据包也正常,(估计之前的网站有过滤所以没有读取成功,当然也有可能是代码选取的问题,多试几次)

这时候复制地址到谷歌浏览器上来,刷新一下查看数据包发送状态早支持,再去打开跨站平台就有正常的回显啦

cookie是用户的凭据:通过凭据可以判定对方的身份信息

有一些网站会保存账户密码就是保存到凭据,而我们盗取的也就是这个凭据,如果自己没有登陆网站后台,对方获取到了cookie不管理员的cookie。因为没有登陆过后台管理的cookie和登陆的cookie不一样,这个cookie就没有什么用。

我们攻击成功的条件,第一个是对方有漏洞,对方浏览器版本不拦截,盗取的cookie对方有登陆过后台管理,上面的过滤绕过,如果对方管理员不去触发漏洞地址也不行。

刚刚上面演示的那个漏洞是不建议实战中使用的,建议不要浪费时间,根本没办法让对方管理员访问这个地址。他不和订单界面那种,管理员必须去看。

cookie和session

cookie是储存在本地上的,储存时间较长,是一些小中型网站,;例如在一个网站里面的界面过了一会儿不管他,再去访问还是原来的状态,

session,这种称为会话,是储存在服务器上的,存活时间较短,是大型网站,安全的网站都会用,例如在支付宝的时候,过了一分钟没操作,或者切屏回来让我们重新输入账号免密这就是一个典型的session型的网站。

session更安全为什么都不用session型呢,因为他是储存在服务器,虽然一次只1kb左右很小,但是网站的资源有很多,每次登陆都有一个文件,这样下去太多了就不行了,也比session要麻烦一些。

session也是有可能获取的,比如是五分钟失效,如果对方没有在操作,就很简单,获取到了,但是就五分钟刚获取到就没有了。

xxs跨站之原理分类及攻击手法(25)相关推荐

  1. 跨站请求伪造(CSRF)+ 跨站脚本攻击(XSS)

    一.CSRF 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 X ...

  2. 大一第二学期周报8Web基础之XXS跨站漏洞详解——1XSS漏洞基础详解

    挖到XSS漏洞可以挖到cookie(储存在用户本地终端上的数据),也可找到后台地址. 难点:挖掘中的 闭合 和 绕过 内容大纲 1.XSS漏洞基础讲解: 2.XSS漏洞发掘与绕过: 3.XSS漏洞的综 ...

  3. Web漏洞-Xss跨站

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

  4. 网络安全-跨站请求伪造(CSRF)的原理、攻击及防御

    目录 简介 原理 举例 漏洞发现 链接及请求伪造 CSRF攻击 不同浏览器 未登录状态 登录状态 代码查看 工具 防御 用户 程序员 ​​​​​​​ 简介 跨站请求伪造(Cross-site requ ...

  5. 【安全牛学习笔记】CSRF跨站请求伪造攻击漏洞的原理及解决办法

    CSRF跨站请求伪造攻击漏洞的原理及解决办法 CSRF,夸张请求伪造漏洞 漏洞的原理及修复方法 1.常见的触发场景 2.漏洞原理:浏览器同源策略 3.DEMO 4.漏洞危害 5.如何避免&修复 ...

  6. 【DVWA(五)】XXS存储型跨站攻击

    XSS存储型跨站攻击(Stored Cross Site Scripting) 前言: 相较于XSS反射型跨站攻击,存储型具有更严重的危害,如果在窃取信息的同时对网页没有任何变化,那受害者将很难发现. ...

  7. 总结 XSS 与 CSRF 两种跨站攻击

    在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式.在这个年代, 参数化查询 [1] 已经成了普遍用法,我们已经离 SQL 注入很远了.但是 ...

  8. XSS与CSRF两种跨站攻击比较

    XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求伪造(Cross-site request forgery) 在那个年代,大家一般用拼接字符串的方式来构造动态SQL 语 ...

  9. XSS和CSRF两种跨站攻击比较

    以下是我从一个大佬那转过来的 觉得写得非常非常好哈哈哈 忍不住想转载 可惜好像从博客园直接转过来转不过来 这是原文链接 XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求 ...

最新文章

  1. 前端实例练习 - 动效按钮
  2. jquery拼接后css样式不生效_JQuery常用选择器以及操作属性和样式的方法介绍
  3. java绑定变量怎么加_在JAVA 源程序中编写SQL语句时使用ORACLE 绑定变量
  4. Ocrad.js – JS 实现 OCR 光学字符识别
  5. Debian Linux下的Python学习——入门
  6. vi/vim常用命令积累
  7. 【Robot Framework】字符串判断,if语句多执行条件,多执行语句
  8. Java基础知识之笔记总结分享(超详细)入门必备
  9. 概率论-数理统计部分思维导图
  10. Activemq下载与安装
  11. 几何画板椭圆九种画法_椭圆的画法几何画板的动画演示
  12. python面板数据模型操作步骤_面板数据模型估计一般要做哪些步骤?
  13. PS人像精修插件MUA Retouch Panel中文版(支持ps2021)
  14. 字体图标和变形 transform属性的使用
  15. html只能有一对body,一个HTML文档只能含有一对body标记,且body标记必须在html标记内。...
  16. 23岁需要做到的事情
  17. Oracle 11g 新特性 -- Online Patching (Hot Patching 热补丁)说明
  18. macOS更新系统到12.6后git无法使用
  19. 怎么把ide改成ahci_怎么将硬盘模式改成ide?如何查看硬盘模式?
  20. 下载RoboWare Studio官网登录不上去

热门文章

  1. Stata 字符变量处理
  2. Sql case when 用法实例详解
  3. 【Android】技巧之像素换算
  4. [易飞]委外进货分录设置
  5. linux系统安装exe程序,linux使用wine安装windows exe程序
  6. Feign原理及其使用
  7. 看似巧妙设计,细品怪怪的
  8. goaccess监控
  9. Windows结束掉 explorer.exe 进程,导致整个电脑屏幕黑屏
  10. python倒序输出数组_python如何逆序输出数组