CTF-WEB-Easy Gallery #文件上传#文件包含

描述:

"没有什么防护是一个漏洞解决不了的,如果有,那就....."http://web.jarvisoj.com:32785/
Easy Gallery
Submit Your photos and descriptions of photos~

上传页面

http://web.jarvisoj.com:32785/index.php?page=submit
查看页面

http://web.jarvisoj.com:32785/index.php?page=view

分析:

  1. 感觉是要传图片但是执行作为php解析并执行命令(),而且坑不止一个!
    先改文件名,好的不给传,不是前端校验。


再改Content-Type,好的不给传,并不是那种会被轻易蒙蔽的系统!


识别文件头
  1. 既然检查文件内容了那么感觉是不是图片马呢!在图片内容后面跟了个一句话,上传成功。在view界面输入id查看图片http://web.jarvisoj.com:32785/show.php?id=1536503255&type=jpg
    查看源代码得到http://web.jarvisoj.com:32785/uploads/1536503255.jpg的绝对地址,访问了下,是的。然后就不知道干啥了,为什么到这里还不给我flag!()
  1. 然后大佬说因为参数=filename所以看起来就像文件包含,好吧你说像就像。文件包含的时候发现后面为何自动带了个.php,贼心一起,用%00截断发现是可以解析的,只不过提示you shall not pass"you should not do this"。思路再次卡死。
    文件包含

    %00截断
  2. 然后大佬说感觉可能是php一句话的什么被过滤了,换用:
    换句话
解析成功

得到flag:CTF{upl0ad_sh0uld_n07_b3_a110wed}

总结

  1. 串一下思路,首先是把php上传(改文件名、改Content-Type,改文件内容),然后是如何解析并执行php(web容器的解析漏洞、php文件包含)。ctf题不会需要你连菜刀搞事的()。
  2. 这是一道常识题,我们来存一下常识。


    CTF从入门到放弃

你可能感兴趣的:(CTF-WEB-Easy Gallery #文件上传#文件包含)