CTF之萌新学习web(文件上传2)

文件上传2

配合Apache的解析缺陷

Apache的解析漏洞主要特性为Apache是从后面开始检测后缀,按最后一个合法后缀解析
例如:
1.php.owf.rar “.owf"和”.rar"这两种后缀是apache不可识别解析,apache就会把1.php.owf.rar解析成1.php

实验环境:upload-labs:第四关
在这里插入图片描述
黑名单校验,可上传apache无法解析的后缀名,这里上传了xxx.php.xxx内容为:
<?php phpinfo();?>
在这里插入图片描述
试试能不能访问
在这里插入图片描述
成功执行了php语句!!

文件头校验

getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。
各类文件头
绕过方式:在恶意脚本前加上允许上传的文件头标志
在这里插入图片描述
实验环境:CTFHub-文件头检查
上传php文件发现
在这里插入图片描述
在一句话木马前加入文件头,修改文件类型上传
在这里插入图片描述
发现上传成功,最后连上蚁剑得到flag
在这里插入图片描述
可参考各类文件的文件头标志

竞争上传

文件先通过move_uploaded_file进行保存,然后用in_array判断文件是否为图片类型,如果是就用rename进行重命名,如果不是,则使用unlink删除文件。所以可以利用这个时间差,当文件保存后,就不断访问该文件,使得它又生成一个shell.php,之后即使上传文件已经删除,shell.php仍然存在。
实验环境:upload-labs第17关
<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST["pass"])?>');?>
代码如上,即执行写入shell.php,所以说我们要快速访问文件即可,利用burpsuite
在这里插入图片描述
进入爆破模块,随便找一个无用的参数,设置为变量
在这里插入图片描述
从1到10000次进行上传,同时开始访问上传文件的路径的intruder,就是对/upload/1.php进行无数次访问。然后在buuctf上有限制,访问频率过快,就在本地搭建的靶机下实验。
在这里插入图片描述
为200就是访问成功,生成了shell.php文件,在文件夹看一下
在这里插入图片描述
上传成功,看看能不能执行函数
在这里插入图片描述
这里我有个问题,一句话木马的POST没有大写,后来在文件夹里改的。。。。。。
可以参考大佬做题的记录:简析GXY_CTF “BabyUpload”上传绕过+条件竞争

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值