uploads文件上传靶场练习

basename函数用法:PHP: basename - Manual

upload-1

源代码

 可判断为前端js校验

 只需要前端发jpg包后抓包修改

 访问图片地址即可

upload-2

源代码

支队文件type类型做了限制 抓包修改即可

 

 

upload-3

源代码

strrchr() 函数(在php中)查找字符在指定字符串中从右面开始的第一次出现的位置,如果成功,返回该字符以及其后面的字符,如果失败,则返回 NULL。 

 str_ireplace()函数作用将::$DATA替换为空

这一关利用黑名单容易被绕过的特性 常见后缀名如下:asp
asa
cdx
cer
php
aspx
ashx
jsp
php3
php.a
shtml
phtml
有些网站会对 asp 或者 php 进行过滤转成空可用这些后缀名。
aspasp asaspp
phpphp

在 iis 里 asp 禁止上传了,可以上传 asa cer cdx 这些后缀,如在网站里允许.net执行 可以上传 ashx 代替 aspx。如果网站可以执行这些脚本,通过上传后门即可获取 webshell。
在不同的中间件中有特殊的情况,如果在 apache 可以开启 application/x-httpd-php在  .php .phtml .php3后缀名为 phtml 、php3 均被解析成 php 有的 apache 版本默认就会开启。上传目标中间件可支持的环境的语言脚本即可,如.phtml、php3。

 


upload-4

源代码

 这里封禁了所有能执行的后缀

首先要了解

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。Unix、Linux系统或者是任何版本的Apache Web服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自的.htaccess文件。

上传改写过后的htaccess文件在 htaccess 里写入 SetHandler application/x-httpd-php 则可以文件重写成 php 文件。要 htaccess 的规则生效 则需要在 apache 开启 rewrite 重写模块,因为 apache是多数都开启这个模块,所以规则一般都生效

如图

.htaccess

所写内容为

<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>

 注:隐藏文件 .htaccess手动输入方可上传

成功执行

 upload-5

在第四关的基础上将.htaccess加入了黑名单

利用 windows 环境的叠加特征绕过上传
在 windwos 中如果上传文件名 1.php:.jpg 的时候,会在目录下生产空白

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值