upload-labs通关笔记

目录

 pass-01(js验证)

pass-02(MIME类型)

 pass-03(黑名单绕过,php3、php5、phtml)

 pass-04(apache解析漏洞)

 pass-05(大小写绕过)

 pass-06(空格绕过)(buuctf里未成功)

 pass-07(点绕过)

 pass-08(::$data绕过)

 pass-09(加后缀)

 pass-10(双写名称pphphp)

pass-11(GET型%00截断)buuctf版本,高于5.3.4

pass-12(POST型%00截断)

 pass-13(图片马)

pass-14(图片马)

pass-15(图片马) 

pass-16(图片二次渲染)

pass-17(条件竞争)

pass-18(条件竞争-图片马)

pass-19(只对用户上传的文件名做验证)

pass-20(代码审计-数组)


 pass-01(js验证)

1,fn+f12网络控制台设置里禁用js;

2,上传一张图片,bp抓包修改内容,添加一句话木马,修改文件名为php后缀

pass-02(MIME类型)

BP抓包修image/jpeg

 pass-03(黑名单绕过,php3、php5、phtml)

phtml/pht的内容

<script language="php"> eval($_POST['data']);</script>

 pass-04(apache解析漏洞)
  • .htaccess(前提是http.conf文件中设置了 AllowOverried All ,才能使用.htaccess文件)

在Apache服务器中,AllowOverride指令用于控制特定目录下的.htaccess文件中哪些指令是有效的。如果你想限制.htaccess文件中使用的特定命令,可以通过在httpd.conf或相应的虚拟主机配置文件中设置AllowOverride来实现。

例如,如果你想禁止.htaccess中使用RewriteRule,可以将AllowOverride设置为All除了RewriteRule

<Directory "/path/to/your/directory">
    AllowOverride All -RewriteRule
</Directory>

利用方法:(buuctf里未成功)

先上传一个一句话木马,改为jpg/png后缀

再上传一个.htaccess文件,指定上传的jpg/png文件解析为php

<FilesMatch "文件名"> 
SetHandler application/x-httpd-php 
</FilesMatch>
  • apache解析文件名是从后往前解析(从后往前解析,遇到不认识的解析规则名就一直往前),用bp抓包修改文件名添加后缀.aaa(不能被识别的解析名称),上传连接

 pass-05(大小写绕过)

 pass-06(空格绕过)(buuctf里未成功)

 pass-07(点绕过)

 pass-08(::$data绕过)

连接时记得把::$data去掉,仅限于windows系统(buuctf为linux系统)

 pass-09(加后缀)
  • 加后缀.jpg/.a
  • 点空格点,上传后发现只出现了最后一个点,源码中的$file_ext = strrchr($file_name, '.');只截取最后一个.的位置(buuctf失败)
 pass-10(双写名称pphphp)

str_ireplace() 函数只会进行一次删除操作,所以确保只有一个php

.phpphp不可行,因为所有的"php"都会被替换,所以必须只有一个"php"字符存在

pass-11(GET型%00截断)buuctf版本,高于5.3.4
  • php版本低于5.3.4
  • php.ini里面magic_quotes_gpc=off
  • (因为magic_quotes_gpc是用于自动转义从外部输入的数据中的特殊字符,‌以防止SQL注入等安全问题。‌当magic_quotes_gpc为ON时,‌PHP会自动将输入的数据中的特殊字符(‌如%00)‌进行转义处理,‌这会导致上传的文件名在处理时被截断,‌从而无法实现预期的文件上传功能)

GET型%00截断

GET型提交的内容会被自动进行URL解码,直接在文件名后面加%00。

pass-12(POST型%00截断)

在POST请求中,%00不会被自动解码,需要在BP中进行编码

两处需要修改,修改后上传拼接路径为../upload/1.php%00/1.jpg

 pass-13(图片马)

使用前提判断是否有文件包含函数

如 :include():找不到被包含的文件只会产生警告,脚本继续执行

可以cmd copy,也可以二进制修改

由于题中明确给出使用文件包含漏洞

pass-14(图片马)

pass-15(图片马) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值