“百度杯”CTF比赛 九月场 YeserCMS writeup

“百度杯”CTF比赛 九月场 YeserCMS writeup_第1张图片

CMS类型题目一般思路:

  1. 判断出cms类型
  2. 查询该cms曾经出现的漏洞
  3. 利用这些漏洞拿到flag.

搜yesercms全是writeup…… 就随便点点,文件下载那里发现应该cmseasy才是其真正的cms

解题过程

Step1 搜索CMSeasy的漏洞

百度CMSeasy存在的漏洞,发现存在无限制报错注入,可获取全站信息

漏洞参考1:https://www.w00yun.top/bugs/wooyun-2015-0137013.html

漏洞参考2:https://www.seebug.org/vuldb/ssvid-94084

最下面有exp,就看到exp那里

Step2 试试exp

网页里面说做法是:

访问/celive/live/header.php进行报错注入,爆用户名密码:

wooyun给出的post:

xajax=Postdata&xajaxargs[0]=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)-- 

解释:由于updatexml的第二个参数需要Xpath格式的字符串,如果内容不是xml格式的语法,会将括号内的执行结果以错误的形式报出,这样就可以实现报错注入了。

现在的第二个参数是: CONCAT() 显然不符合规则

参考:

Xpath语法格式整理

updatexml()报错注入

改一下关键字,把cmseasy改成yesercms,Post一下

可以拿到管理员账号密码

其中密码显示不足要改mid函数里的显示位数。

成功登录以后进入管理界面

上传图片不可以,模板修改后不能保存

用burp看一下请求和响应

修改id,得到flag

“百度杯”CTF比赛 九月场 YeserCMS writeup_第2张图片

你可能感兴趣的:(CTF)