打开题目
进入后是一个cms,但肯定的是这个cms不叫yesercms
于是我们开始随便翻翻,寻找信息,后台我也看了除了一个登陆界面,就没有其他的提示信息。
最后在文档下载的评论栏里发现,这个cms的真正名称是cmseasy。
上网去查cmseasy的漏洞
然后大致查了下应该是
于是构造报错注入测试一下
回显内容,还告诉了我们这个sql语句的完整内容,总共3个字段,其实后面的NULL都可以不要了
接下来拿表名,因为表名一好几个用group_concat发现updataxml只能够返回32字节,于是显示不全
然后寻思着用limit,结果40多条表,要输40多次,幸好不是上千条。。。。。
想着有没啥更快捷的方法(本人sql语句学的差呀)
然后查到了mid函数,虽然也没有提升多快,但是毕竟一次可以显示1条半的数据(充分利用32个字符)
语法 mid(字符串,起始位置[,显示长度])
用mid结合起group_concat来进行对整个表的浏览。
每次起始位置+31,大概20多次就能把所有表查完
emmm明显我们有用的表示后面2个,进去看看
usergroup里面的内容
user里面的内容(还是太长了,用mid每次剪切)
明显我们要的是管理员的账号
然后再看uer表里面有几行,结果只有1行,那么肯定就是管理员了
我们只要username和password
返回内容
后面是个HASH,估计是MD5加密,去解下密(绝了之前那个md5解密网站要钱了。。。)
http://www.dmd5.com/md5-decrypter.jsp贴个网站,ophcrack官网太慢了
好了,我们可以愉快的登陆后台了
http://2288dc3709514c708665247af0070463ee7275a18d124db6.game.ichunqiu.com/index.php?case=admin
进去后,找不到上传点,在模板一块发现可以看部分的源码,那么我们想的是在浏览源码的时候返回flag.php
在打开源码前需要点击编辑按钮,抓下点击编辑按钮时的包
这个id是文件名,那么我们要找到flag.php就需要路径到根目录下
这里我不知道目前路径是在哪里了,就一级一级的往回退,退了2级目录后发现有回显内容了
总结:在找是什么CMS的时候,真的要细心,而且这个SQL报错注入漏洞,只能用别人已经发现的,自己根本不可能审计出来。。。。最后的改包,不是看writeup根本就想不到。虽然这次主要还是练习了报错注入的几个方法。
路虽远,行则必达。