** 怎么过管家文件上传?老网工的“绕墙”笔记,看完直呼内行!
哎,兄弟们,姐妹们,今天咱们不聊虚的,就聊聊那个让人又爱又恨的管家文件上传。
你们知道吗?每次碰到这种带“管家”俩字的上传点,我这心里就咯噔一下,为啥?因为这东西吧,它不像裸奔的IIS服务器,你甩个一句话木马上去,它“啪”一下就吞了,管家类软件,那简直是网络世界的“物业大妈”,管天管地,管你上传的每一粒灰尘!
我估计不少刚入行的朋友,或者侧重点在开发的运维,拿到一个站,看到上传点,兴冲冲地写了个test.php.jpg,结果被拦下来,心里那个憋屈啊。“嘿,我这暴脾气,这都不让过?”
别急,咱们今天就把这“怎么过”的门道掰扯掰扯,我先声明啊,我这也是一家之言,不是什么葵花宝典,但绝对是我踩坑踩出来的血泪经验,希望能给摸黑走路的你递上一支手电筒。
咱们得搞清楚这个“管家”到底在管啥,你以为它只看后缀名?那你就太小瞧它了。
我遇到的管家文件上传,多半是三层检查:
- 后缀名黑名单/白名单:这是最Low的,但也最基础。
php、asp、jsp这些高危后缀,人家门儿清。 - Content-Type(内容类型):你上传一个
image/jpeg,它才放你走,你要是传个application/x-php,那不是明摆着告诉人家:“嗨,我来送马了!” - 文件头/内容检查:这个最狠,它不看你后缀,它直接看文件内容,你传一个图片马,它发现内容里的
<?php标签,直接给你“咔嚓”了。
怎么过?硬碰硬肯定不行,咱得智取哇!
第一步,咱们得学会“变装”。
别一上来就传shell.php,那太欺负人了,试试shell.php.jpg这种组合?如果它只检查最后一个点后面的字符串,那这招可能行,但如果它从前往后找第一个点,那你就得尝试shell.jpg.php,哎呀,这就像咱们穿衣服,得看安检员的眼神行事,一个眼神不对,立马换套行头。
第二步,巧用“空字节”和特殊符号。
老同志们肯定记得%00截断的经典操作,虽然现在很多脚本语言都修复了,但万一这“管家”比较老呢?或者试试shell.php.(点后面跟个空格)?Windows系统有时候会跟你开玩笑,自动去掉结尾的点和空格,然后你传上去的是shell.php,它检查的却是shell.php.,嘿,这不就“偷天换日”了吗?这感觉,就像你考试时在选择题上偷偷划了个小标记,赌的就是阅卷老师眼神不好!
第三步,图像马,咱们的温柔一刀。
如果它查文件头,咱们就在一张合法的GIF图片后面,拼接上我们的PHP代码,图片还是那个图片,就是多了点“内涵”,有些管家软件只检查前面几个字节是不是GIF89a,看到这个头,它就放心了,直接放行,这时候,咱们在图片末尾塞一句<?php @eval($_POST['x']);?>,它根本不会发现!哎呀,这招真是屡试不爽,就像把机密文件藏在《新华字典》的某几页里,谁能注意到呢?
但是!就怕这个“! 有些高端的“管家”,它会重新渲染图片,或者检查图片的完整性,你拼接的代码,会被它洗掉,让你“竹篮打水一场空”,这时候,咱们就得用上图片马 + 文件包含的经典组合,先传一个看似完美的图片,再去寻找一个文件包含点,虽然过程曲折了点,但咱们玩得就是心跳,不是吗?
哦对了,还有那个Content-Type,咱们用Burp Suite抓包,把它改成image/png或者application/octet-stream,有时候就这么个小动作,也能蒙混过关,这就像你跟门卫说:我送的是快递,其实箱子里是只猫,只要箱子上贴着“易碎品”,门卫大概率看都不看。
再提一嘴,大小写绕过。PHP、Php、pHp,试试嘛,万一人家管家犯迷糊呢?还有双写后缀,pphphp,有些过滤函数只替换一次,替换了中间的php,剩下的php又拼成了一个完整的,这就像玩华容道,你得算好每一步。
写到这儿,我真得说句掏心窝子的话。怎么过管家文件上传,其实没有固定的“万能钥匙”,每一次绕过,都是跟对方开发人员的一次心理博弈,你得去感受他的代码逻辑,是粗心的,还是严谨的,遇到严格的,一次过不了,咱就换个姿势再来。
我夏天的时候,为了过一个服务器的上传点,愣是研究了一下午他的过滤规则,最后用了一个极其刁钻的.htaccess文件来解析(前提是允许上传该文件),把那道坎给趟过去了,当时那家伙,激动得我差点把键盘给拍碎了!那种成就感,比喝了冰镇可乐还爽!
给你们一个忠告: 咱们研究这个,是为了更好地帮客户找出安全漏洞,是站在“白帽”的立场上,可千万别一时糊涂,拿这些招数去干坏事,网络不是法外之地,咱们的“技术”得用在正道上,不然“管家”后面可是跟着警察叔叔的,到时候吃“公家饭”可就不香了嗷!
好了,今天的分享就到这儿,都是些不值钱的土办法,希望对你们有点儿启发,如果你也在测试管家文件上传时遇到过什么奇葩的事儿,欢迎在评论区唠唠,下次万一遇到,咱们也能见招拆招!
(底部“传送门”)

学习网络安全可以加QQ:88888888 (加我备注“公众号粉丝”,不然不通过哟!)

