文件上传upload-labs(1-10)

打卡第三天
今天复习了下文件上传漏洞,之前就看视频做题目,有段时间不做就忘记了…

PASS-01(前端js验证)
关闭插件(禁用script switch-----js disabled)
上传木马,蚁剑连入
文件上传upload-labs(1-10)_第1张图片

PASS-02(进行了MIME类型检测)
根据提示,上传1.php失败(提示文件类型不正确)
上传木马,抓包,改包content-type:image/gif
蚁剑连入
文件上传upload-labs(1-10)_第2张图片
PASS-03(黑名单)
上传1.php失败(提示:不允许上传.asp,.aspx,.php,.jsp后缀文件!)
但是phtml,php3,php4, php5, pht等这些后缀没有被列出来
上传木马,改包后缀.php5,发送(我没有做成功,可能是配置的问题,没有解析出来)
蚁剑连入
文件上传upload-labs(1-10)_第3张图片

PASS-04(没有禁用.htaccess)
检测上传类型,上传图片,文本成功;上传php报错(提示不允许上传此类型文件)
先上传.htaccess文件(所有文件都被当成php文件来解析)
AddType application/x-httpd-php
然后上传图片马,
文件上传upload-labs(1-10)_第4张图片
文件上传upload-labs(1-10)_第5张图片
文件上传upload-labs(1-10)_第6张图片

PASS-05(.htaccess文件类型也被禁止)
检测上传类型:上传图片,文本成功;上传php报错(不允许上传此类型文件)
大小写没有过滤,也是黑名单的一种,上传.phP
蚁剑连入
文件上传upload-labs(1-10)_第7张图片
文件上传upload-labs(1-10)_第8张图片

PASS-06(Windows系统文件命名规则的特殊利用)
检测上传类型,上传图片,文本成功;上传php报错(不允许上传此类型文件)
对比pass5的源码,少了一个条件,末尾去空
上传木马,抓包,改包在末尾后面加上一个空格
蚁剑连入
文件上传upload-labs(1-10)_第9张图片
文件上传upload-labs(1-10)_第10张图片
PASS-07
查看源码发现少了一个条件,删除末尾的点
上传木马,抓包,改包在末尾加上一个点
蚁剑连入
文件上传upload-labs(1-10)_第11张图片
文件上传upload-labs(1-10)_第12张图片

PASS-08
查看源码发现少了一个条件,去除字符串::$DATA
上传木马,抓包,改包在末尾加上:: $DATA
蚁剑连入
文件上传upload-labs(1-10)_第13张图片

PASS-09(目录路径检测)
查看源码发现,$ img_path = UPLOAD_PATH.’/’.$file_name;
路径拼接的是处理后的文件名 $ file_name
,也就是说最后保存文件的时候没有重命名而使用的原始的文件名,那相当于 $file_name只经过那两段代码的过滤
$file_name = trim( $ _FILES[‘upload_file’][‘name’]);//移除字符串两侧的空白字符
$file_name = deldot( $file_name);//删除文件名末尾的点

上传木马,抓包,改包***.php点空格点
蚁剑连入
文件上传upload-labs(1-10)_第14张图片
文件上传upload-labs(1-10)_第15张图片

PASS-10
查看源码发现,一个deny_ext的名单,str_ireplace将名单里面的后缀替换为空(这和xss里面的很像)
上传木马,抓包,改包.phphpp
蚁剑连入
文件上传upload-labs(1-10)_第16张图片
文件上传upload-labs(1-10)_第17张图片

文件上传upload-labs(1-10)_第18张图片
先更这么多,下次在更文件上传的总结…内容都是根据自己的经验总结,如有不对,欢迎补充纠错~~

你可能感兴趣的:(文件上传)