系统特性与web安全
文/安全天使·SuperHei
一、WINDOWS系统
1、windows对../的支持
特性:win系统下可以用../进行跨目录操作
利用:web入侵中进行跨目录操作时,在web程序过滤了/的情况下,我们可以通过../突破。
实例:MolyX Board的attachment.php中attach变量过虑不严漏洞( http://4ngel.net/article/50.htm)在angel的文章里提供的解决方案里,只过滤了/,并没有对/过滤,导致在win主机上漏洞依旧,详见 : http://www.4ngel.net/blog/hei/index.php?action=show&id=92
2、windows对.的忽略
特性:win系统下在文件后缀后的.将被忽略,如test.php. 与test.php是等同的
利用:导致上传文件时,被利用上传webshell
实例:缺
二、*nix系统
1、freebsd系统下/的利用 (ps:也有可能存在于其他系统)
特性:freebsd下因系统文件格式不同导致可以利用/进行目录列片攻击:如在freebsd下运行cat / 得到根目录下的所有文件夹及文件:
cat /
利用:mysql注射时可以配合load_file()进行目录列片攻击。如load_file(0x2F) [0x2F为/的hex值] ,load_file(0x2Froot0x2F)
实例:如图1
2、大小写的区分
特性:*nix系统是文件格式区分大小写,而windows系统不区分。
利用:最简单的利用也是最直接的 用来区分web服务器使用的系统
实例:分别提交
http://www.4ngel.net/blog/hei/index.php 正常返回
http://www.4ngel.net/blog/hei/inDex.php 提示文件不存在
这个说明 www.4ngel.net主机为非windows系统。
三,iis与apache
1、解析文件类型的利用
iis在支持asp外,还支持asa,cer,cdx,htr
apache+php在支持php外,还支持php3,php4,phpx等
由于web程序的过虑不足,导致可以上传webshell
2、iis6的特性
IIS 6.0 目录名里包含有文件.asp会导致其目录下任意文件当做asp文件来运行。如我们把webshell保存到test.asp/webshell.gif,当iis6下访问 http://xxx/test.asp/webshell.gif 时webshell.gif被当作asp文件来解析。可以利用到通过数据库备用得到的webshell,存放后门等方面。
3、apache文件名解析缺陷漏洞
apache 文件名解析时,是从后面开始检查后缀,按最后一个合法后缀执行。如:cmdshell.php.heige 因为heige不被apache解析,所以apache把这个文件当php文件解析了.
利用:
a、有的web程序安装后,会把install.php改名为install.php.lock,install.php.bak等等
实例:BMForum等
b、挖掘上传漏洞
实例:Discuz!等
c、.....
四、配置文件的位置
每个系统都自己特定的配置文件(包括第3方软件的配置文件)其位置也是相对固定的。文件内容包含了服务器的敏感信息。在我们利用web漏洞任意操作文件时(如 include包含漏洞,mysql注射load_file()的利用,等等)读取或下载这些配置文件,导致敏感信息的泄露。如:
windows系统:boot.ini mysql的%SYSTEMROOT%/my.ini servu的c:/program files/serv-u/servudeamon.ini 等等
*nix系统的 etc/目录下的文件 等等
文/安全天使·SuperHei
一、WINDOWS系统
1、windows对../的支持
特性:win系统下可以用../进行跨目录操作
利用:web入侵中进行跨目录操作时,在web程序过滤了/的情况下,我们可以通过../突破。
实例:MolyX Board的attachment.php中attach变量过虑不严漏洞( http://4ngel.net/article/50.htm)在angel的文章里提供的解决方案里,只过滤了/,并没有对/过滤,导致在win主机上漏洞依旧,详见 : http://www.4ngel.net/blog/hei/index.php?action=show&id=92
2、windows对.的忽略
特性:win系统下在文件后缀后的.将被忽略,如test.php. 与test.php是等同的
利用:导致上传文件时,被利用上传webshell
实例:缺
二、*nix系统
1、freebsd系统下/的利用 (ps:也有可能存在于其他系统)
特性:freebsd下因系统文件格式不同导致可以利用/进行目录列片攻击:如在freebsd下运行cat / 得到根目录下的所有文件夹及文件:
cat /
利用:mysql注射时可以配合load_file()进行目录列片攻击。如load_file(0x2F) [0x2F为/的hex值] ,load_file(0x2Froot0x2F)
实例:如图1
2、大小写的区分
特性:*nix系统是文件格式区分大小写,而windows系统不区分。
利用:最简单的利用也是最直接的 用来区分web服务器使用的系统
实例:分别提交
http://www.4ngel.net/blog/hei/index.php 正常返回
http://www.4ngel.net/blog/hei/inDex.php 提示文件不存在
这个说明 www.4ngel.net主机为非windows系统。
三,iis与apache
1、解析文件类型的利用
iis在支持asp外,还支持asa,cer,cdx,htr
apache+php在支持php外,还支持php3,php4,phpx等
由于web程序的过虑不足,导致可以上传webshell
2、iis6的特性
IIS 6.0 目录名里包含有文件.asp会导致其目录下任意文件当做asp文件来运行。如我们把webshell保存到test.asp/webshell.gif,当iis6下访问 http://xxx/test.asp/webshell.gif 时webshell.gif被当作asp文件来解析。可以利用到通过数据库备用得到的webshell,存放后门等方面。
3、apache文件名解析缺陷漏洞
apache 文件名解析时,是从后面开始检查后缀,按最后一个合法后缀执行。如:cmdshell.php.heige 因为heige不被apache解析,所以apache把这个文件当php文件解析了.
利用:
a、有的web程序安装后,会把install.php改名为install.php.lock,install.php.bak等等
实例:BMForum等
b、挖掘上传漏洞
实例:Discuz!等
c、.....
四、配置文件的位置
每个系统都自己特定的配置文件(包括第3方软件的配置文件)其位置也是相对固定的。文件内容包含了服务器的敏感信息。在我们利用web漏洞任意操作文件时(如 include包含漏洞,mysql注射load_file()的利用,等等)读取或下载这些配置文件,导致敏感信息的泄露。如:
windows系统:boot.ini mysql的%SYSTEMROOT%/my.ini servu的c:/program files/serv-u/servudeamon.ini 等等
*nix系统的 etc/目录下的文件 等等