upload-labs pass6-pass10
Posted mushangqiujin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了upload-labs pass6-pass10相关的知识,希望对你有一定的参考价值。
1.pass-6黑名单 空格绕过
直接上传肯定不可以
这个地方配置文件虽然只过滤了.htaccess,.user.ini也是不可用的,因为这里进行了重命名,通过代码审计可以发现空格没有过滤,这是利用windows的一个特性,后缀后面有空格和没有空格是一样的
burp抓包,改一下后缀名,添加一个空格
复制图片地址,访问,成功执行
2.pass-7黑名单 点绕过
通过代码审计可以发现.没有被过滤了,这也是利用了windows的一个特性
burp抓包,后缀加点
复制图片连接,访问
3.黑名单,::$DATA绕过
::$DATA是windows的特性
通过和上一题对比可以发现,可以用::$DATA绕过,注意文件名被重命名了
抓包改后缀
访问文件,成功执行
4.pass-9黑名单,点空格点绕过
这个地方要注意为什么和第8题源码是差不多的,只不过过滤::$data,而第8题却不能绕过,首先过滤空格和删除点的函数都是过滤一次的,当传入1.php. .,在第8题中遇到deldot,会删除.,剩下的1.php.%20,遇到strrchar,变量file_ext值为1.php,之后被重命名为20231456,而遇到trim被删除空格,最后变成了20231456.,只有一个点而没有后缀,不能被解析成php
为什么双写::
D
A
T
A
不能绕过
?
变量
f
i
l
e
n
a
m
e
值没有被过滤,是因为
f
i
l
e
e
x
t
用函数过滤的
,
而
f
i
l
e
n
a
m
e
值为
1.
p
h
p
:
:
DATA不能绕过? 变量file_name值没有被过滤,是因为file_ext用函数过滤的,而file_name值为 1.php::
DATA不能绕过?变量filename值没有被过滤,是因为fileext用函数过滤的,而filename值为1.php::DA::
D
A
T
A
T
A
w
i
n
d
o
w
s
文件上传时,文件命名是不能含有
:
w
i
n
d
o
w
s
会自动把
:
:
DATATA windows文件上传时,文件命名是不能含有: windows会自动把::
DATATAwindows文件上传时,文件命名是不能含有:windows会自动把::DATA去掉,但上面的不识别时不能被去掉的
抓包改后缀
访问文件
5.pass-10黑名单,双写绕过
通过审计代码可以发现是用了str_ireplace这个函数,这个函数只会过滤一次
抓包改后缀
访问
取随机密码
#!/bin/bash
a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
pass=""
for i in {1..6}
do
sum=$[RANDOM%${#a}]
y=${a:$sum:1}
pass=$pass$y
done
echo $pass
##############################################################
#!/bin/bash
AA=(0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z)
read -p "please input one number: " EE
for ((j=1;j<=EE;++j ))
do
PASS=""
for ((i=1;i<=6;++i ))
do
BB=$(($RANDOM%32))
CC=${AA[$BB]}
PASS+=$CC
done
echo $PASS
done
本文出自 “12177655” 博客,谢绝转载!
以上是关于upload-labs pass6-pass10的主要内容,如果未能解决你的问题,请参考以下文章
BUUCTF做题Upload-Labs记录pass-01~pass-10
BUUCTF做题Upload-Labs记录pass-01~pass-10
安全-Pass10之黑名单点空点绕过(upload-labs)