CTF-i春秋-Web-cookie欺骗、数组绕过正则过滤、rot13-who are you?-2017第二届广东省强网杯线上赛

2020.09.21

经验教训

  1. rot13,凯撒密码的一种变形,因为其加密和解密只用一种方法,所以比较流行,实质就是字母表偏移13位
  2. 正则表达式可以用数组绕过;
  3. 当一个字符被过滤了的时候,有可能是因为触发了正则表达式;
  4. 什么时候可以考虑用数组绕过过滤?我们的输入被放在一个参数中被源码处理,可能存在正则、hash处理;
  5. 在遇到一个不是单词的连串字母的时候,不符合base特征的可能是凯撒处理过……
  6. 学到大佬的思路

既然没有提示,也没有其他的链接,那么可能有以下几种可能:
1、敏感文件泄漏
2、跳转
3、cookie / session
第一个想法在经过扫描器扫描之后就放弃了,因为只看到index.php,还有/upload/,但是在访问的时候是403
第二个在抓包的时候也没有看到有跳转
只剩下第三个

who are you?

https://www.ichunqiu.com/battalion

  1. 直接访问,显示权限不够,估计就是改改X-Forwarded-For: 127.0.0.1
  2. 在burp中重发,发现有个特别的地方,就是设置了cookie,base64解码后是f:5:"thrfg";,是序列化之后的结果,role是角色的意思,那么改成admin??
  3. 改了X-Forwarded-For,但是没有用,那还有啥,试试更改cookie
  4. 我把cookie变成admin序列化之后的结果还是不行
  5. 原来是这样,怪不得之前的thrfg怪怪的,这是Rot13后的结果,我的思路是没问题的(😬hhhh强行没问题),thrfg解密后是guest
  6. 那么admin,Rot13结果是nqzva,序列化然后base64是Zjo1OiJucXp2YSI7,再试试
  7. 很好,成功
<body>
<!-- $filename = $_POST['filename']; $data = $_POST['data']; -->Hello admin, now you can upload something you are easy to forget.</body>
  1. 那么他的意思就是我可上传东西了,burp试试,我不太清楚这个data应该怎么填,管他呢,随便试试😑上传一句话被no了,那么是因为后缀名么
  2. 把data内容修改后成功上传,看来是对文件内容进行了过滤
  3. 接下来测试被过滤的字符
    • <,报错……
    • >,没事
    • php,没事
    • ,没事
    • 那看来就是对这个<进行了过滤,那么我们有没有其他办法呢,这一个字母也不能复写啊
    • 然后我就去看wp了,有大佬说是可能有正则表达式,可以用数组来绕过,然后就让data[],确实成功了
    • 访问了直接给了flagflag{e07cd440-8eed-11e7-997d-7efc09eb6c59}
    • 但是思路是很重要的,怎么猜到的可以用数组绕过很重要
posted @ 2020-09-21 15:30  乔悟空  阅读(897)  评论(0编辑  收藏  举报