网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

绕过某通用信息管理系统实现XSS

这篇文章将为大家详细讲解有关绕过某通用信息管理系统实现XSS,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了祁门免费建站欢迎大家使用!

序言

实战渗透某站点时遇到的,经过几天研究最终成功绕过限制并打到管理员cookie,特此记录下备忘。将一些琐碎的trick和知识点进行了有机结合与综合实践,希望本文能对读者有所帮助,若有谬误,还请指正。

准备工作

首先看看站点,事先测过了SQL等漏洞,这里只测试XSS。

绕过某通用信息管理系统实现XSS

先尝试填充一些正常数据以判断是否会回显payload,经过测试,该站点提交信息会直接跳转回首页,无法查看payload解析执行情况。

注意:测试xss时往往不要一上来就怼

这里推荐一个网站缩短服务:

x.co

访问设置url即可

绕过某通用信息管理系统实现XSS

要是有更短的网址缩短服务可以留言分享下,毕竟在测试xss中有时仅仅缩短一个字符便能决定渗透成功与否。

提交payload后我们到后台查看效果。

绕过某通用信息管理系统实现XSS

对比一下:

可以发现= 与url中的‘/’被过滤掉

并且页面解析了我们的        ascii编码绕过.....

其实这里就已经结合了编码绕过的思路,故不再赘述编码绕过

我们这里使用第一个payload,该payload完美的绕过了“=”与“/”的限制,因为特殊符号全被编码成了对应的ascii码

提交payload,到后台查看效果

绕过某通用信息管理系统实现XSS

显然,我们的payload执行成功。

你以为这样就完了吗??

我们现在去目标站测试下

绕过某通用信息管理系统实现XSS

再看看payload的长度

绕过某通用信息管理系统实现XSS

所以好戏才刚刚开始啊...

也许有读者会问为什么同样的payload却遇到了限制呢?

这点可以在管理后台获得解答。绕过某通用信息管理系统实现XSS

说明目标站的数据项做了长度限制。经过测试,目标站所有的数据项长度都被限制到了40个字符,那么我们来考虑绕过。

这里提供一种巧妙的思路:将payload分割起来并储存在相应的变量中,拼接变量后执行。

所用的payload一般为:

                  

注:此payload要求所有字符注入进同一页面。

思路确定了,但是对于目标系统来说,该如何绕过’=’与’/’的限制呢?

之前提过,使用编码绕过特殊字符是一座较为有效的思路,那么我们便考虑将分割注入与编码这两种思路相结合。

补充知识:

Unicode编码绕过

url编码绕过

Ascii码绕过

hex绕过

八进制

base64绕过

注:

  1. 使用unicode,hex,8进制等编码时需要用到eval()函数

  2. 其实这里的payload并不可用,还需要经过处理,只是为了展现思路历程

下一步处理一些细节:

  1. eval内的引号需要转义

  2. 进一步的缩短payload

请大家思考:

只用一个变量z进行存储,在之后的每一步中拼接字符串是否为最优的方法?

个人认为,在总长度允许的情况下,可以将不同的payload存储在不同的变量中,

例如:

这样便可以省去”z+”这两个字符

最后进行拼接

拼接字符时只是单纯的变量加减,并不需要转义等复杂操作增添新的字符,payload的长度还在可以接受的范围内。

如果读者对整个过程存在疑问,推荐自己写一个过滤掉“=”与url中“/”的环境进行测试,能帮助你更好的理解本文。

贴一下最终的payload:

你以为这样就完了吗?不!还没完!

我们提交下该payload

绕过某通用信息管理系统实现XSS

为什么会报错某些变量没有被定义呢?

我们的payload在本地chrome测试是完美成功的啊

不应该存在语法上的错误啊

这就要讲到另一个知识点了:

原来JS引擎并非一行行去分析和执行程序,而是一段一段的执行(如3),而且在同一段程序的分析执行中,定义式的函数语句会被优先执行。函数定义执行完以后才会按顺序执行其他语句代码。

在经过预处理后,js引擎才会从上到下依次执行。

想想我们的注入顺序?

绕过某通用信息管理系统实现XSS

最终执行变量的语句却放在了页面上端,js引擎在执行时自然会报错。

所以把之前的payload倒序注入即可。(相信我这真的是最后一次了)

成功打到cookie.

绕过某通用信息管理系统实现XSS

关于绕过某通用信息管理系统实现XSS就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站栏目:绕过某通用信息管理系统实现XSS
链接URL:http://bjjierui.cn/article/pogjii.html

其他资讯