《网络安全0-100》HW1.10

文章详细介绍了XXE漏洞的防范措施,如禁用外部实体和过滤敏感关键字。同时,阐述了文件上传漏洞的原理,包括利用文件上传功能上传可执行文件以获取服务端权限。文中还列举了多种文件上传漏洞的绕过方法,如前端JS禁用、修改后缀名、篡改MIME类型、利用GIF89a欺骗、%00截断、.htaccess和.user.ini文件等技巧。
摘要由CSDN通过智能技术生成

XXE漏洞的防范?

A

禁用外部实体的引入

比如PHP语言中使用libxml_disable_entity_loader(true);等方式。

过滤如SYSTEM等敏感关键字,防止非正常、攻击性的外部实体引入操作。

Q

文件上传漏洞的原理?

A

Web页面中文件上传功能没有对上传的文件做合理严谨的过滤,导致用户可以利用此功能,上传能被服务端解析执行的文件,并通过此文件获得执行服务端命令的能力。

Q

文件上传漏洞的绕过手法?

A

前端JS禁用绕过

在前端页面禁用JS,当然也有可能影响正常页面显示却没用

简单修改后缀名绕过

如果只是前端页面限制上传的文件后缀名,那么我们就可以利用burp suite等工具修改文件后缀名绕过。

抓包修改MIME类型

常见图片MIME类型:image/gif,image/png,image/jpeg, image/bmp,image/webpimage/x -iconimage/vnd.microsoft.icon

服务端代码是通过Content-Type的值来判断文件的类型,这样我们可以直接对文件的Content-Type值进行修改来绕过。

后缀名大小写绕过

如果源代码没有对文件后缀名进行大小写转换,那么只要更改文件名后缀大小写即可绕过黑名单

图片马绕过

使用edjpgcom等工具或者命令将图片和WebShell制作成一个图片马

GIF89a图片头文件欺骗

比如GIF89a,在webshell前面加上GIF89a,后台认为是图片,上传后再执行木马,更有效的做法是结合其他绕过方法更有针对性的绕过。

%00,Ox00截断

比如修改文件名为1.php%00.jpg,如果php版本<5.3.4 在url中%00表示ascll码的0,而ascii码的0,表示字符串结束,所以当url中出现%00时就会认为读取已结束,最后会被解析

为1.php,从而实现绕过

.htaccess文件绕过

.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过.htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

比如说在htaccess文件中有如下内容AddType application/x-httpd-php.png那我们随后上传png后缀图片马即可绕过

.user.ini.绕过

.user.ini文件里的意思是:所有的php文件都自动包含指定的文件,比如说某网站限制不允许上传.php文件,你便可以上传一个.user.ini,再上传一个图片马,包含起来进行getshell。不过前提是含有.user.ini的文件夹下需要有正常的php文件,否则也不能包含了。再比如,你只是想隐藏个后门,这个方式是最方便的。

条件竞争绕过

一些网站上传文件的逻辑是先允许上传任意文件,然后检查上传的文件是否包含webshell脚本,如果包含则删除该文件。这里存在的问题是文件上传成功后和删除文件之间存在一个短的时间差(因为要执行检查文件和删除文件的操作),攻击者可以利用这个短的时间差完成条件竞争的上传漏洞攻击。比如上传一个php文件里面这样写

<?php fputs(fopen(../shell.php','w'),");?>:$DATA绕过

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全仔的日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值