返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >一本修炼秘籍,带你打穿文件上传的21层妖塔(1)
  • 263
分享到

一本修炼秘籍,带你打穿文件上传的21层妖塔(1)

php开发语言网络安全吉林师范大学 2023-09-12 21:09:06 263人浏览 泡泡鱼
摘要

目录 前言 引子 第一层:JS限制——你在玩一种很新的防御 第二层:Content-Type限制——我好像在哪见过你 第三层:黑名单绕过——让我康康! 前言 🍀作者简介:被吉师散养、喜欢前端、学过后端、练过CTF、玩

目录

前言

引子

第一层:JS限制——你在玩一种很新的防御

第二层:Content-Type限制——我好像在哪见过你

第三层:黑名单绕过——让我康康!


前言

🍀作者简介:被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。

🍁个人主页:被吉师散养的职业混子

🍂相应专栏:CTF专栏

 小年快乐

引子

须臾百转,你重生在程序大陆

回望过往种种的背刺与欺压,若非通过秘宝轮回转生,怕是早已身死道消

想到这,怒火不由得燃上心头——你要去复仇


念头闪回,现在有一件好消息和一件坏消息摆在你的眼前:

  • 好消息是:重生之后你的实力虽然大跌,但凭借前世的宝物:诸神之眼(说白了就是抓包软件)依旧可以傲视本片大陆 
  • 坏消息则为:通过对外界的感知和前世对于典籍的阅读,你得知自己被困在了程序大陆大名鼎鼎的镇神塔内第一层,塔中到处都是针对于上传之力封印之灵。而随着层数的递增,封印之灵的实力也会大大增强,尤其是最后几层的封印之灵,相传最后几层的妖物动辄毁天灭地,所以才被高人出手镇压于此

上传之力,是程序大陆中的一种精神力量,通过对目标精神的试探、攻击,找出其中的漏洞,并在目标的精神中注入属于自己的WEBshell

第一层:js限制——你在玩一种很新的防御

你正在思考之际,忽然感觉到一股不弱的上传之力向你的精神世界袭来

伴随着冷哼一声,在你的精神世界,你见到了攻击者的面目:是一个类似于八卦盘的怪物


“以前的战斗中没见过,不过可以看出这镇神塔果然邪性得很。。。”


双方开启了试探,你先是通过上传之力向对方的精神体中传了一个简单的一句话木马shell.PHP

不出意料,攻击被一层水属性的蓝色护盾挡回

(以下是现场战况

 你开启诸神之眼观察了一番,并没有观察到清晰的上传之力波动


“呵呵,你觉得不使用上传之力就能打倒我?反犬+王是为狂,今天我就让你好好记住狂的下场”


对方的防御方法,你真是再清楚不过了:

不使用上传之力,也就是压根没有连接到精神世界中的网络,仅仅是通过本地的JS校验,这样的防御虽然方便,但是死板,至于打破它的方法嘛。。。

你看着面前的八卦盘,面色凝重,上传之力全部爆发,声势惊天,然后,然后。。。

然后你一路小跑到这哥们面前,抬手就往他八卦盘上一个叫做设置的部件上扇了个大比兜

(以下是当时战况

“哈哈哈哈哈哈哈哈,笑死我了,哪有这么傻的,我对你的攻击都不过脑子,只凭借自己本能的JS检测来防御,那我直接把你设置里的JS关了不就行了,真是太傻了。。。”

伴随着愉快的笑声,你来到了第二层

第二层:Content-Type限制——我好像在哪见过你

第二层的b格显然就要比第一层高多了,是一片优美的竹林,清风阵阵,带来竹叶的清香


“有人吗?不是。。。有妖吗?

。。。。。。

回应你的只有风扶细柳,流水潺潺

没人?可能是怕了本帝的飒爽英姿吧

算了

这风如此轻柔,当真舒服,不妨先睡一觉,反正才第二层,我堂堂一届大帝,应该出不了什么大事”


一阵自我催眠后,你在自己用上传之力编织的大床中缓缓睡了过去

殊不知,在你入眠的一刻,清风忽急,聚而成势,一个巴掌大小的微型龙卷风悬浮在你的眉心之上倏地,钻入眉心之中

这时候,你还在自己的梦里看妹子(不是

突然,原本晴空万里的精神世界狂风大作,黑云下垂似鲲鹏之翼

再定睛一看,那有什么黑云

那特么真的是鲲鹏!

你仔细想了想,自己上辈子没造过孽,招收贫穷子弟免费入山门,从未做过半点亏心事

什么情况?第二层给我安排鲲鹏?鲲鹏不是死了吗?玩呢?

应该不是真的,应该不是真的

你开启诸神之眼。。。。。。

了然

原来是鲲鹏残骸上的宝羽,虽说过去了这么多年,神采依旧如故啊


你不禁感慨,同时也有一丝庆幸,当年鲲鹏陨落一战,那些名门正派打着除妖物的幌子正大光明地抢劫,你不屑与其为伍,最后乔装一番,试图从他们手下救鲲鹏一命。

可惜最后,你身受重伤,鲲鹏无可奈何,也通过自爆的方式与宵小同归于尽。

临走之前 ,他赠予你一抹意志,正是因为这抹鲲鹏意志,你才能够到如今的地步。。。


慢慢的,你也冷静了下来

发动诸神之眼,将自己的攻击修改成shell.php.png格式,因为通过对典籍的阅读,你知道,这座塔里的妖魔都是通过吸收png来维持能量,也就是,他们的精神世界只能接收png格式的文件

所以现在你通过上传之力发送的文件,一定会被他接受的。

就在鲲鹏宝羽接受的前一刻,你再一次发动了诸神之眼

这次,发动的是诸神之眼的另外一个功能:断点拦截、时间暂停

你在暂停的时间内,迅速入侵了鲲鹏宝羽的精神世界对shell.php.png开放的通道

 

 果然被骗了,死物终归还是死物

只要在上传的时候,通过拦截,将shell.php.png后的png删掉

它就会将我的攻击认为成是平时吸收的能量,毫无防备地被我入侵

结束了时间暂停,你并没有看向天空中不断爆炸的鲲鹏宝羽,而是低头看向地面


“死物终究是死物。。。

鲲鹏兄是为一代英才,可惜被小人所害,可叹,可悲,唉。。。

他人之物再好,终究本是自己无运所获,何必抢夺行窃,即丢了自己的尊严,也有伤天和

望诸君引以为戒,切勿动此邪念,也切记财不露白”


沉默

立足在原地

长久的沉默

你拾起已无宝气的鲲鹏宝羽


“终归是个念想”


第三层:黑名单绕过——让我康康!

来到第三层,诸神之眼突然开始震动


”你发什么癫?“


被你呵斥一句,诸神之眼通灵般地安静了下去


“算你懂事。

第三层,管事的出来!”


不同于前两层的寂静,这次居然有人回应你,那是一阵平静如水的女声


“您找我?


一名素衣女子缓缓走出,怎么去形容呢

这名女子不能从美丑去评价,她站在你的面前,只能让你感觉到

她很平静,平静到可怕,仿佛她有一定能杀掉你的决心与实力

不愧是大名鼎鼎的镇神台

你没有回应,多年战斗的经验让你感觉有点不对劲

你先是用打败鲲鹏宝羽的方法对面前女子如法炮制

可当你改完上传的文件名后,居然被她的精神世界排斥了出来!

???


“您只凭这点手段就想杀了我吗?

有点天真”


那女子说完,身形变换,忽然消失,

随后,你的精神世界如遭雷击,你定睛一看,那女子竟神不知鬼不觉出现在你的身后,右手已抚至你的头颅


“要不要这么猛啊,这家伙什么来头?”


诸神之眼又一次震动,你更加心烦,生死之际宝物也发癫,真是。。。。

正在抱怨间,一阵银光从诸神之眼散出

时间开始不断变慢

诸神之眼自己发动了时间暂停。

随后,一阵精神波动传入你的大脑中


“别抱怨了,刚才就想告诉你,此女子非常人,乃是传说中精卫的人形化身,估计是当年填海未遂,真身破败后四散的能量所汇聚,祸害四方,所以被大能抓入此镇神塔。

诶,别说话,我知道你想问什么。

怎么样才能干掉它,对吧?

其实也简单,用我去看它的过往今来,窥破其本质——源代码

还想说什么?刚才呵斥我道歉?算了,你一个小儿,我堂堂诸神之眼也不和你计较了,要不是你,估计我也孕育不出这器灵,虽然现在很微弱就是了。”


时间暂停的效果开始减退,你一边震惊于诸神之眼居然诞生出来了器灵,一边又想试试新学到的用法——轮回(查看源代码捏)

轮回发动

眼前的精卫突然定身,破碎开来,一张张彩色的图片从精卫的身体中逸出,你仔细地看着这些图片

突然

“找到了!”

$is_upload = false;$msg = null;if (isset($_POST['submit'])) {    if (file_exists(UPLOAD_PATH)) {        $deny_ext = array('.asp','.aspx','.php','.jsp');        $file_name = trim($_FILES['upload_file']['name']);        $file_name = deldot($file_name);//删除文件名末尾的点        $file_ext = strrchr($file_name, '.');        $file_ext = strtolower($file_ext); //转换为小写        $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA        $file_ext = trim($file_ext); //收尾去空        if(!in_array($file_ext, $deny_ext)) {            $temp_file = $_FILES['upload_file']['tmp_name'];            $img_path = UPLOAD_PATH.'/'.date("YmdHis").rand(1000,9999).$file_ext;                        if (move_uploaded_file($temp_file,$img_path)) {                 $is_upload = true;            } else {                $msg = '上传出错!';            }        } else {            $msg = '不允许上传.asp,.aspx,.php,.jsp后缀文件!';        }    } else {        $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';    }}

原来如此。。。

        $deny_ext = array('.asp','.aspx','.php','.jsp');

它的精神世界通过此处,构建出了一个黑名单

只要我的文件中存在

.php

就会被排除

同时,通过源代码中的注释,发现也不能用大小写、末尾空格等措施绕过。

真精

有办法了

如果在它的精神世界的配置文件中有.+.ph(p[345]?|t|tml)此类的正则表达式构成,或是在其中存在类似于:AddType application/x-Httpd-php .php .phtml .php3这样的语句。就可以将php3、php4、php5、phtml后缀的文件解析为php运行。

那我们直接将shell.php改成shell.php3试试

成功了!

成功传进去了!

因为轮回所四散开的精卫的前世今生,随着轮回的结束重聚人身

她还是那么平静,即使意识到自己要死了,她就这样怔怔地看着你

突然,她的眼中大放异采


是你!!居然是你!你来了!!这一切都是假的,你要小心。。。。


忽然一道霹雳从天空直击而下,精卫化身瞬间烟消云散

。。。。。。。

话说半截,最吊人胃口

你抬头看了看天空


“好像有人不想让我知道什么东西啊,

’这一切都是假的‘

假的又如何,等我打穿镇神塔,我还有何所惧?”


未完待续

来源地址:https://blog.csdn.net/m0_55400802/article/details/128684646

--结束END--

本文标题: 一本修炼秘籍,带你打穿文件上传的21层妖塔(1)

本文链接: https://lsjlt.com/news/405141.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作