upload-labs 1
前端绕过
为前端绕过类型。
1、前端去除验证代码
2、禁用Javascript
地址栏输入about:config,点击回车键
在搜索地址栏中输入javascript.enabled,值由trun变成false。时候说明已经关闭了。重启火狐浏览器才能失效。
3、修改允许文件类型
4、代理截断
将要上传的文件后缀改成可以上传的类型,通过代理再改回来。
upload-labs 2
这一关通过服务端校验扩展名,使用白名单策略,不在允许的扩展名中无法上传。
$_FILES["file"]["type"] - 上传文件的类型【MIME】
绕过方法
使用各种各样的工具(如burpsuite)强行篡改Header就可以,将Content-Type: application/php改为其他web程序允许的类型
Content-Type: image/jpg
Content-Type: image/png
Content-Type: text/plain。
请求Header中Content-Type存在以下特征:
- multipart/form-data(表示该请求是一个文件上传请求)
- 存在boundary字符串(作用为分隔符,以区分POST数据)
PS:也可以把木马的文件扩展名改成允许上传的类型,再抓包改下文件的扩展名即可。
upload-labs 3
根据提示初步判断是基于黑名单机制,准备尝试绕过黑名单。
(1)找黑名单扩展名的漏网之鱼 - 比如 asa 和 cer 之类
(2)可能存在大小写绕过漏洞 - 比如 aSp 和 pHp 之类
能被解析的文件扩展名列表:
jsp jspx jspf
asp asa cer aspx
php php php3 php4 phtml
exe exee
将扩展名改成*.php3就能上传成功。
upload-labs 4
方法一:
配合操作系统文件命令规则
- 上传不符合windows文件命名规则的文件名
test.asp.
test.asp(空格)
test.php:1.jpg
test.php::$DATA
shell.php::$DATA…….
会被windows系统自动去掉不符合规则符号后面的内容。
- linux下后缀名大小写
实验环境装在windows系统中,通过抓包,改成不符合windows文件名规则的后缀就可实现上传木马的目的。
方法二:
利用Apache漏洞getshell(.htaccess 文件攻击上传shell)
.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置.通过htaccess文件,可以实现:网页301重定向、自定义404页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
1.创建htaccess文件,编辑内容为:
SetHandler application/x-httpd-php
他的意思是将该目录下的所有文件解析为php文件来执行
2.如果指定文件名的文件,才能被当做PHP解析,内容为
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>
它将该目录下匹配的jpg文件解析为php执行
一般黑名单验证的上传成功几率比较大,白名单什么的并无卵用,先上传这样一个后缀为htaccess的文件,在上传一个.jpg的一句话,这样即使上传的一句话后缀为jpg依然可以连接一句话。
upload-labs 5
未完待续。