upload-lab第1~4关

upload-lab靶场练习

第一关

这一关基本上没啥好说的,由于是通过javascript去验证用户的输入就是所谓的前端验证所以直接通过抓包或者是修改前端代码就行了。
在这里插入图片描述
如上图将后缀名从jpg修改为php从新上传
在这里插入图片描述

第二关

这一关是在对文件MIME头进行检测,MIME头就是数据包中的Content-Type: image/png这个可以显示出上传文件的类型但是可以通过抓包修改或者是直接上传png或jpg格式的文件抓包手动改为脚本语言类型。
在这里插入图片描述

第三关

这一关是黑名单控制用户上传的文件在这里插入图片描述
可以看到它禁止了常见的脚本语言的后缀上传而且是后端语言去控制的所以无法通过抓包修改后缀上传,但是我们可以上传像 .phtml .php3这样的后缀去绕过,可以这样做的前提条件是在Apach配置文件httpd.conf中将
在这里插入图片描述
给打开,我的这边不知道啥原因打开了还是没办法解析,就先留个小坑吧。

第四关

这一关和第三关一样是黑名单检测,而且比上一个检测的后缀更多
在这里插入图片描述
几乎把所有能用的后缀名都给过滤了但是没有对 .htaccess文件文件进行过滤我们也就可以先上传一个 .htaccess文件然后就可以绕过掉过滤。

.htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令。
.htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、文件密码保护等。
简单点说就是它可以将一个文件指定为脚本文件执行不管是否文件类型为脚本文件的后缀
在第三关和第四关中都没有对.htaccess文件进行过滤为啥只有第四关可以使用可以看看他们对上传文件处理的这块
第三关
在这里插入图片描述
第四关
在这里插入图片描述
可以看到在第三关中会对我们上传的文件进行一个重命名的环节而第四关中没有,.htaccess文件上传时必须要以 .htaccess的样子上传而重命名后会在前面加上其他的东西就会导致 .htaccess文件无法执行

<FilesMatch "te">
    SetHandler application/x-httpd-php   
</FilesMatch>
//意思为将文件名中带有te的都当做php文件解析

这里还有一点htaccess攻击需要PHP版本在5.6版本以下而且还有必须是ts版本不能是nts版本nts不会解析
在这里插入图片描述
看到有403报错就算成功了,然后就是上传webshell文件
在这里插入图片描述
简单点来说htaccess上传攻击成功的条件是

  1. php版本在5.6一下
  2. php为ts版本
  3. 为黑名单过滤
  4. 上传后的文件不会被重命名(名字由自己控制)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值