【web安全深度剖析】笔记——上传漏洞

折月煮酒 提交于 2020-01-16 22:47:45

IIS6.0解析漏洞

  1. 当文件夹名命名为XX.asa或XX.asp时,文件夹中的所有文件都会被当做asp文件来执行
  2. 当文件命名为*.asp;1.jpg时,此文件会被当做asp文件来执行
  3. WebDav漏洞:开启webdav后,可扩展move、copy、delete等HTTP方法,此时即可put一个a.txt写入一句话木马,并通过copy或move改名为xx.asp,这样即可轻松上传一个webshell。同样可以使用delete方法删除任意文件。

APACHE漏洞

Apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后向前解析,直到碰为止,如果都不认识,则会暴露其源代码。比如:1.php.rar ,apache不认识rar后缀,就会解析成php文件。

PHP CGI解析漏洞

当在正常网页www.xx.com/1.jpg后面加上/xx.php时(xx.php文件不需要存在),1.jpg就会被当成PHP脚本来运行。
因为PHP的配置文件中cgi.if选项默认开启向前递归解析,当xx.php文件不存在时,就解析上一级文件,造成解析漏洞。

中国菜刀与一句话木马

往目标网站中加入一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录

各语言的一句话代码

asp:
<%eval request ("pass")%>
aspx:
<%@ Page Language="Jscript"%>
<%eval(Request.Item["pass"],"unsafe");%>
php:
<?php @eval($_POST['pass']);?>

漏洞上传

客户端使用JavaScript检测后缀名

  1. firebug
    删除onsubmit事件,使JavaScript函数无法触发

  2. 中间人攻击
    (1)正常上传
    (2)拦截
    (3)修改后缀,*如果文件名长度改变需要修改context-length

服务器端检测

  • 白名单与黑名单
  1. 黑名单
    (1)寻找忽略的扩展名
    (2)大小写转换
    (3)win系统下,文件名以“.”或空格结尾,会自动忽略
  2. 白名单
    利用IIS 6.0解析漏洞,上传XX.asp;.jpg图片,IIS 6.0会把图片当成脚本执行。
  • MIME验证
    拦截,修改Content-Type

  • 目录验证
    如果在网页源码中可以对上传目录进行控制(修改文件上传的目录),控制文件上传到XX.php文件夹,并提交一句话图片木马,此时可利用IIS 6.0漏洞进行解析。

  • 截断上传
    上传1.asp 1.jpg(中间有空格)文件名的木马,在burpsuite的repeater功能hex选项中修改http请求包的空格的HEX值,由20改为00,即将空格改成null值。上传后文件名即为1.asp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!