记一次学习--webshell防守理念

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

相关推荐
zhuyixiangyyds6 小时前
day21和day22学习Pandas库
笔记·学习·pandas
每次的天空6 小时前
Android学习总结之算法篇四(字符串)
android·学习·算法
背影疾风7 小时前
C++学习之路:指针基础
c++·学习
苏克贝塔8 小时前
CMake学习--Window下VSCode 中 CMake C++ 代码调试操作方法
c++·vscode·学习
odoo中国9 小时前
深度学习 Deep Learning 第15章 表示学习
人工智能·深度学习·学习·表示学习
电星托马斯9 小时前
C++中顺序容器vector、list和deque的使用方法
linux·c语言·c++·windows·笔记·学习·程序人生
清晨朝暮9 小时前
【算法学习计划】贪心算法(下)
学习
yanxy51210 小时前
【TS学习】(18)分发逆变推断
前端·学习·typescript
Hellyc10 小时前
SpringMVC响应数据:页面跳转与回写数据
java·前端·学习
Qian_ShouYi11 小时前
MATLAB 代码学习
学习·算法·matlab