web安全入门(第七章-3)文件上传漏洞--解析、验证、伪造

一、实战注意

1,图片马的意义
		~绕过前端检测
		~绕过类型检测	(Content-Type)
		~绕过文件头检测
2,一句话木马根据脚本语言类型来
		要根据不同条件制作,
			php:<?php @eval($_REQUEST['a']);?>
			asp:<%eval request("a")%>

二、IIS6.0解析漏洞

1,漏洞本质
		IIS6.0解析漏洞,其实有一些不如说是IIS6.0的一些特性,严格意义上讲,
		只是一些默认配置并不是漏洞但是也有一些的确是漏洞
				一般来说,有三种漏洞
2,解析漏洞(一)
		IIS6.0除了将ASP后缀当做ASP进行解析的同时,
		当文件后缀名字为.asa .cer .cdx 也会当做asp去解析,
		这是因为IIS6.0在应用程序扩展中默认设置了.asa .cer .cdx 都会调用 asp.dll
		
		解决:直接将响应配置删掉即可
3,解析漏洞(二)
		很多地方都会用到“;”,作用是结束
		IIS6.0在这就是一个漏洞了,例如:
			上传a.asp;jpg,服务器就会将它作为asp去执行
			
			但是,这个文件的名称依旧是:a.asp;jpg,只是在执行的过程中,
			web容器解析的锅
4,解析漏洞(三)	
		另一种解析漏洞就是“/”,例如:
			命名为 a.asp/123.jpg		这个也会以asp执行
			
			关于这个漏洞造成的原因有很多解释,这里就不展开了。有兴趣的同学可以
			去了解一下。简单的说,这相当于构建了一个新的文件夹a.asp,凡是这个
			里的文件都会以asp去执行(我是这么理解的)

三、CGI解析漏洞

	1,CGI是什么?
		简单的说,可以理解为是web服务器和独立程序之间的管家
			服务器将a类型文件,交给CGI,CGI交给处理a类型文件的程序
	2,做法
			上传图片马,不用改变图片马的名称,假如上传1.jpg
			
			访问图片马文件位置,比如www.aaa.com/bbb/ccc/1.jpg
			
			在文件路径补充:“/.php”,即www.aaa.com/bbb/ccc/1.jpg/.php
			
			访问该路径,即可
			
			进行验证:www.aaa.com/bbb/ccc/1.jpg/.php=phpinfo();
	3,原理
			CGI一看是php后缀结尾,便给php程序去执行,php去找名字为“
			1.jpg”的文件夹,没找到,便去找“1.jpg”的文件,找到后执行。
			
			漏洞本质:少了在次检测的环节
			
	4,注意 
			这不是Nginx特有的漏洞,在IIS7.0、IIS7.5、Lighttpd等
			Web容器中也经常会出现这样的解析漏洞
			
			这种漏洞在16、17年基本一吃一个准,现在倒不是太常见,
			之前被部分前辈们刷的太狠了。。。
			但是,一些项目中偶尔也会见到

文件上传常见问题汇总

1.文件上传对渗透测试的意义
文件上传属于获取Getshell的一种方法,属于最常规获取webshell的方法,所以寻找上传点比进入后台还重要,如果前台上传点你直接上传上去一个一句话木马,整个站你就拿下来了。

2.文件上传需要做信息收集吗?
当然需要信息收集,信息收集中对web容器和用的动态语言和动态语言版本对文件上传非常有用,一个ASP的站,你传一个PHP的马,如果说没有特殊设置,那么这个马是不可能执行(但是有些情况下,他设置了解析,也是可以解析的)然后web容器也会存在一些解析漏洞,如iis6.0畸形解析、CGI解析漏洞

3.文件上传是不是只会检测后缀?
并不是,有些文件上传还会去检测文件内容

4.黑名单和白名单哪个安全?
相对而言,白名单更安全一点

5.如果只能上传图片,这个上传点是不是没用?
并不是,好歹你还是有文件上传上去的,如果网站存在本地包含或者解析漏洞,你传上去的图片马就可以大放光彩了。

6.只是windows有::$DATA吗?
是的呀

7.windows忽略大小写,linux?
Linux并不会忽略大小写,比如访问一个网站,将URL里面文件夹得名字改一个小写字母为大写,如果正常访问那一般是windows,如果访问出现问题一般是linux(快速检测不一定准)

8.双写绕过常见吗?
双写绕过并不是特别常见,但是也是遇到过,你上传得文件得文件名就可以看出来能否双写绕过

9.没有源码怎么测试文件上传漏洞?
这个可能是同学们最关心的问题,因为大多数情况下,都不会有目标站点的源码。所以黑盒怎么测试妮?先传一个正常图片,然后看看这个地方上传是否有用,然后再传一个jpg后缀的图片马,看看对内容会不会检测,然后再尝试改包,看看是不是前端验证,然后尝试下看看是黑名单还是白名单机制,然后最后尝试条件竞争。

10..htaccess文件绕过这个常见吗?
虽然这个默认不是开启的,但是开启了伪静态的网站都会开启,所以遇到伪静态可以直接尝试,不过没用遇到也是可以尝试的,也许管理员开启了妮~多尝试

11.后缀大小写绕过可能存在吗?
当然可能啦,老的ASP站比较容易遇到

12.文件后缀(空和点)绕过适用于什么环境?
仅仅用于windows

13.00截断和%00截断有区别吗?
没有任何区别,%00 仅仅是00的URL编码而已

14.00截断有限制条件吗?
高版本php不存在,5.4.45以上似乎就没有了

15.有没有把图片打成base64保存到数据库的操作?
有这个操作,但是我试过,我做开发的时候干过这个操作,但是这样会让数据库超级大,而且感觉影响了数据库的性能

16.条件竞争实战可行性?
实战是可以行的,之前遇到过一个非法网站,然后他就存在条件竞争(不过一般5分钟没跑出来就放弃把)

17.IIs6.0畸形解析漏洞(一)怎么利用?
Asa cer 这个很明显是绕过黑名单机制的

18.IIs6.0畸形解析漏洞(二)怎么利用?
这里是绕过白名单机制的,利用;进行绕过

19.IIs6.0畸形解析漏洞(三)怎么利用?
当你拥有建立文件夹且可以命名的时候利用

20.IIS6.0感觉很老呀现在还多吗?
ASP的站大部分都是这个版本,也有些IIS6.0修复了解析漏洞,也不用太执着

21.CGI解析漏洞仅仅用于Nginx吗?
不是这样子额的,CGI解析漏洞在IIS7.5、IIS7.0中也存在,我实战遇到过的大部分都是IIS7.X比较多

22.文件上传漏洞就只有靶场的这23个吗?
当然不是啦,只不过这23个是比较常见的啦

23.文件上传是不是必须要图片马?
也并不是必须,但是我建议使用图片马,因为图片马可以绕过好多防护机制

24.我图片马做了,但是上传上去连接不了怎么办?
你先看看你的图片马是不是太大了,图片马大了会影响执行,所以我建议使用小图片做图片马,我自己真的用的图片马,都是QQ表情,一个图片才10kb.第二个要检测的就是看看图片马是否正常运行,建议在本地先试试

25.动态脚本语言不同,他们的一句话木马可以通用吗?
当然不可以啦,难道你觉得英语和中文还有日语可以通用吗?每个动态脚本语言都有自己的一句话木马,函数可能连名字都是差不多的,但是语句肯定不一样(百度查一查就有了)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值