source 检测输入源,输入源大部分是用户输入。一些像_GET或者_POST等污点追踪一直会追,只有当你程序报错或者经过了一个清洗函数污点追踪才不会追。
缓冲的绕过
然后对于HIDS来说检测文件时会通过几个方法来缓解资源上的压力。
只检测特定后缀的文件
对于已经检测过的文件,以hash缓存检测结果(这种方式在很多地方都有应用),下次不再检测
然后这里可以借助第二个特性来进行HIDS绕过,可以上传一个jsp文件然后他的里面放php的恶意代码,这样对于HIDS来说这个文件中的代码是安全的,将其以hash方式存起来,然后攻击者再次上传后缀为php的文件,然后里面的恶意代码和刚刚的jsp的恶意代码相同,这样HIDS比对hash的时候发现hash相同。成功绕过。
对于上面的问题开发者可以通过将文件名后缀和内容一起hash这样攻击者就无法利用
但是攻击者还是可以利用,这个利用的就是创建一个hash相同但是文件内容不相同的两个文件。这个叫做hash碰撞,这里在GitHub上有开源代码可以完成(其中原理涉及到了密码学的知识感兴趣的同学可以尝试)
GitHub - phith0n/collision-webshell: A webshell and a normal file that have the same MD5