信息安全笔记:上传漏洞
Posted Lora青蛙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信息安全笔记:上传漏洞相关的知识,希望对你有一定的参考价值。
Webshell——脚本攻击工具
webshell就是一个木马后门
shell是指“为使用者提供操作界面”的软件,类似于windows 的cmd.exe。攻击者常常将服务器能运行的脚本文件(木马文件)放置在网站服务器地web目录中,通过web方式,利用木马控制网站服务器,包括上传下载文件、执行任意程序命令等,这就称为拿到了服务器的webshell,也就是拿 到服务器的web控制权限。
webshell可以穿越防火墙
攻击者与被控制地服务器或远程主机都是通过80端口传递数据,因此不会被防火墙拦截。
中国菜刀和一句话木马
中国菜刀:一款c/s型的webshell管理工具,它的服务端程序极小,只有一句代码,因此保证了webshell的隐蔽性,并且这段代码所能实现的功能是非常强大的。
主要功能有:
1.文件管理:缓存下载目录,并支持离线查看缓存目录;
2.虚拟终端:操作方便;
3.数据库管理:支持YSQL,MSSQL,ORACLE,INFOMIX,ACCESS 只要往目标网站中加入一句话木马,然后你就可以在本地通过中国菜刀获取和控制整个网站目录。
php:<?php @eval($_post['pass']);?>
asp:<%eval request (“pass”)%>
不同语言的一句话构成几乎完全一致:
请求客户端数据
然后执行请求到的数据
eval() 函数可将字符串转换为代码执行,并返回一个或多个值
如何获得webshell
要获得webshell:
1 .找到上传途径
2. 成功上传木马(绕过上传验证),木马要能被执行
3. 知道木马存储路径
4. 执行木马获得webshell
找到上传途径
文件上传
数据库备份写shell
FCKeditor 编辑器上传漏洞,任意文件上传漏洞
上传检测
Shop靶机上传验证判断
判断是哪种验证方式
-是否进行文件大小验证
-是否进行文件内容验证
-是否MIME类型验证
-是黑名单还是白名单验证
-判断是客户端验证还是服务器端验证
内容检测绕过
文件内容检测
将图片文件和一句话木马合成 copy 1.jpg /b + 2.asp /a 3.asp
文件大小检测
将一句话木马复制多遍
黑名单检测绕过
1.文件名大小写绕过
用像AsP,pHp 之类的文件名绕过黑名单检测
2. 名单列表绕过
用黑名单里没有的名单进行攻击,比如asa 或cer 之类 IIS6.0默认的可执行文件除了asp还包含– .asa,– .cer,– .cdx
3. 特殊文件名绕过
发送的http 包里把文件名改成test.asp. 或test.asp_(下划线为空格),这 种命名方式在windows 系统里是不被允许的,所以需要在burp 之类里 进行修改,然后绕过验证后,会被windows 系统自动去掉后面的点和空格
客户端扩展名检测绕过
如何判断是客户端验证?
没有向服务端发送任何数据信息,就对本地文件进行检测是否是允许上传的文件类型,这种方式称之为客户端本地javascript检测。
Burp Suite 是用于攻击web 应用程序的集成平台,其中:
Proxy——是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截,查看,修改在两个方向上的原始数据流。
如何绕过客户端验证?
• 将木马文件扩展名设为jpg
• 上传111.jpg,浏览器验证通过
• burp抓包拦截,将111.jpg 改为111.asp
服务端文件扩展名检测绕过
服务端白名单检测绕过
文件上传漏洞防御
检查文件上传路径 ( 避免 0x00 截断、 IIS6.0 文件夹解析漏洞)
服务器白名单检测 ( 避免服务器以非图片的文件格式解析文件 )
文件内容检测 ( 检测图片内容中是否插入 webshell)
图片二次渲染 ( 最变态的上传漏洞防御方式 , 基本上完全避免了文件上 传漏洞 )
文件重命名 ( 如随机字符串或时间戳等方式 , 防止攻击者得到 webshell 的路径 )
文件 MIME验证
要获得webshell:
1.找到上传途径
登录后台后找到上传文件途径
2. 成功上传木马(绕过上传验证),木马要能被执行
判断为什么验证,再针对验证绕过
00截断绕过服务器白名单验证
3. 知道木马存储路径
4. 执行木马获得webshell
连接菜刀
以上是关于信息安全笔记:上传漏洞的主要内容,如果未能解决你的问题,请参考以下文章