{ "create_date": "2018-3-15", "update_date": "2018-4-2", "username": "静河流", "views": 16901, "favorator": 2, "publish_doctype": "2" }
返回
章节
笔记
XSS
1、xss的形成原理
2、xss的分类
3、代码案例分析
3.1、反射型xss
3.2、存储型xss
3.3、dom型xss
CSRF
1、csrf的原理与危害
2、csrf的利用分类与案例分析
3、解决方案
SSRF
1、ssrf的原理与危害
2、漏洞代码示例
3、ssrf的挖掘与防御
XXE
1、基础知识
2、xxe的原理与案例
SQL Injection
1、sql注入的原理与分类
2、盲注
3、DVWA SQL Injection分析与利用
4、DVWA SQL Injection (Blind)分析与利用
5、Sqlmap盲注利用
6、防范sql注入
File Upload
1、上传漏洞的原理与总结
2、PHPcms9.6.0 任意文件上传漏洞利用与分析
3、解析漏洞总结
命令注入(Command Injection)
1、命令注入漏洞
暂无章节
1、上传漏洞的原理与总结
### 01、漏洞原理与危害 文件上传漏洞原理: 网站web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个web可访问的目录上,并将恶意文件传递给PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。 根据网站使用及可解析的程序脚本不同,此处可以上传的恶意脚本可以是PHP、ASP、JSP文件,也可以是篡改后缀后的这几类脚本。 WebShell 就是以 asp、php、jsp 或者 cgi 等网页文件形式存在的一种命令执行环境,也可以将其称之为 一种网页后门。攻击者在入侵了一个网站后,通常会将这些 asp 或 php 后门文件与网站服务器 web 目录 下正常的网页文件混在一起,然后使用浏览器来访问这些后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载或者修改文件,操作数据库,执行任意命令等)。 ### 02、上传漏洞绕过 一个正常的上传流程通常会经过客户端与服务端的安全检查,而服务端检测又主要分为4类: (以下具体操作均可使用burpsuite进行,由于都是一些操作步骤,网上已经有很多使用教程,后文会给出一些参考资料,这里只对上传漏洞做一个总结。) 1、客户端JavaScript检查 客户端检测一般只是在JavaScript代码中加入了对扩展名的黑白名单检查,这种方式只能防止一些普通用户上传错误,只要用burpsuite在文件上传时进行截断改文件后缀名就可绕过。 [海洋石油HES.HOME APP后台弱口令任意文件上传导致getshell](http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0182087.html) [海洋石油工程股份有限公司官网任意文件上传导致任意代码执行Getshell](http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0181502.html) [国元投资某系统多处漏洞导致getshell内网多台机器(绕过上传限制)](http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0143782.html) 2、服务端检测: A、MIME类型的检查 (就是检查Content-Type的值,MIME类型决定了某种扩展名用什么应用程序打开,GIF的MIME值为image/gif.) [中国移动四川分公司某报表系统存在弱口令、上传文件绕过漏洞(已拿webshell,管理员权限)](http://wooyun.jozxing.cc/static/bugs/wooyun-2014-080842.html) B、文件扩展名检查 (与前端js后缀名检测类似,只不过是在后端进行检查,有时候还可以配合解析漏洞结合目录路径攻击,例如test.asp/test.jpg,解析漏洞后面会讲到) 后端后缀名检查也分两种,黑名单与白名单。 黑名单检查绕过: 1、文件名大小写绕过,比如代码中有php规则,那么可以使用PHP或者pHP绕过 2、黑名单列表绕过,对黑名单列表中没有的扩展名进行攻击,比如asa 3、利用windows和Linux系统的特性进行特殊文件名绕过,a.asp. a.asp_等 4、htaccess 文件攻击 5、配合解析漏洞(IIS、apache等,后面会单独提到) 白名单绕过: 1、截断攻击,比如a.asp%00.gif等 2、配合解析漏洞 具体可以参见 Syclover的文章 《Upload Attack Framework》,这篇文章对上传绕过做了非常详细的总结和演示 [中国联通沃音乐某站任意文件上传getshell](http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0195299.html) [中国南方航空公司某站存在任意文件上传漏洞(Windows技巧绕过限制)](http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0190447.html) [上海市通讯管理局某系统文件上传漏洞获得webshell并可以内网漫游](http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0175346.html) C、目录路径的检查 (对目录路径可进行0x00截断绕过;以及可以控制目录地址,上传文件夹的参数可控) [国元信托oa系统任意文件上传导致getshell](http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0205876.html) [万户OA多个漏洞打包(任意文件上传.XXE.SQL注射)](http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0173342.html) [开源证券主站存在任意文件上传目录遍历文件删除漏洞](http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0158259.html) [国海证券某系统存在任意文件上传漏洞已Shell](http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0146898.html) D、检测文件内容是否包含恶意代码 这种方式主要检查图片文件的幻数,比如GIF的值为GIF89a,后端代码会检测改值判断是否为GIF图片文件,想要绕过只要在幻数后面加上一句话木马就行。 其余还有文件相关信息的检查,文件加载检查 [五矿某系统弱口令导致任意文件上传可入内网](http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0163482.html) ### 03、上传文件的分类与总结 1、上传文件是PHP、JSP、ASP等脚本代码,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行; 2、上传文件是crossdomain.xml,导致可以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似); 3、上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行植入到pc中。 4、上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。 在大多数情况下,文件上传漏洞一般都是指“上传的Web脚本被服务器解析从而获取网站shell权限”,也就是webshell,要完成上传漏洞攻击需要满足以下几个条件: 1、上传的文件能够被Web容器解释执行,所以文件上传后所在的目录需要解析器可以执行目录下的文件,也就是说文件目录必须在web容器覆盖路径内才行。 2、用户可以直接通过浏览器进行访问这个shell文件,如果web容器不能解析这个文件,那么也不能算是漏洞。 3、最后,上传的shell文件如果被安全检查、格式化、图片压缩等功能改变了内容,则也可能导致攻击不成功。 ### 04、修复与防御 如何杜绝此类漏洞,其实需要根据攻击手段来分部进行,以上总结了如何绕过文件上传,实际上可以根据每种绕过手段针对的进行防御。 1、设置文件上传的目录设置为不可执行 2、使用白名单方式检查文件类型。处理图片可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的恶意代码。 3、对文件进行随机性且不可猜解的重命名。 4、不能有本地文件包含漏洞及解析漏洞。(解析漏洞后面会讲到)
⋮
问答
标题
雪币悬赏
(剩余
0
雪币)
内容
提交
请扫码订阅
有回复时将及时提醒您
其他问答
暂无记录
笔记
公开笔记
提交
取消
保存
同学笔记({{ other_total }})
我的笔记({{ my_total }})
{{ item.username }}
{{item.video_time_fmt}}
查看完整内容
{{ item.create_date_fmt }}
{{item.is_public == 1 ?"已公开":"未公开"}}
笔记审核中
收起
删除
编辑
{{ item.likes }}
{{ item.likes }}
采集
已采集
上一页
下一页
资料下载
暂无记录
作业
暂无记录
看原图