打开题目, 给出了一句:Sorry. You have no permissions.
查看网页源码, 也没有更多信息,
再看HTTP头, 发现有Cookie
直觉告诉我, 这是Base64编码
解码后, 可以看到一串像反序列化的文本,
但是不知道thrfg
是什么, 盲猜是一个很随意的用户名, 先把他替换成admin看看
然而, 并没有什么卵用, 依旧是一句权限不足, 虽然也有可能区分大小写, 但是可能性太小了, 看上去陷入了死局.
只好再接着翻师傅们的wp, 得知thrfg
是ROT13处理过的guest
(意想不到…),
之后肯定要自己接着了, 没全解完前, 这种东西只能当Hint, 全看就没有学习的意义了.
那就改成admin
→nqzva
刷新后提示变为Hello admin, now you can upload something you are easy to forget.
, 有点没看懂, 就查看了下网页源码:
题目告诉我们可以通过POST提交filename
和data
来上传一个文件.
然后就先试了下普通操作, filename
=123
, data
=456
, 没有出现错误, 访问也正常
试着改文件名为/../123
, 同样上传成功, 并且可以访问/uploads/123
不过再往上一层就不行了, 虽然没报错, 但是访问时返回404
不过看上去好像没什么太大用, 再试下文件名能不能为php:
看样子没有对文件名做限制,
那就再试着传php代码上去看看,
看样子并不能, 改了PHP的大小写一样不行, 后面想着是不是判断有没有, 但换成脚本形式一样没能绕过,
多测试了几次后, 发现是只要有<
就会出错.
然后陷入知识盲区, 只好接着翻师傅的wp, 师傅认为有正则检测, 但是可以用数组绕过,
于是改data=
为data[]=
, 成功上传木马,
结果一访问, 发现flag直接出来了(???)
迷惑行为, 不过应该是做了rewrite之类的, 题解完毕.
最后, 再看看今天的系统会不会再来一次审核(大概率是会的)
突然发现可以导出, 找个时间把笔记导出来好了, 免得有机会去线下打断网赛的时候一点东西都没了
毕竟太经常在晚上飙车了, 迟早要翻车的, 撤了.