记一次学习--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

相关推荐
光影少年40 分钟前
平时如何学习新技术?
后端·学习·前端框架
lizhihai_991 小时前
股市学习心得-龙头持股法
学习
知识分享小能手1 小时前
MongoDB入门学习教程,从入门到精通,MongoDB事务知识点梳理(8)
数据库·学习·mongodb
red_redemption1 小时前
自由学习记录(149)
学习
反向跟单策略2 小时前
期货反向跟单:跨合约跟单的意义及操作方法
大数据·人工智能·学习·数据分析·区块链
计算机安禾2 小时前
【数据结构与算法】第16篇:串(String)的定长顺序存储与朴素模式匹配
c语言·数据结构·c++·学习·算法·visual studio code·visual studio
拒朽2 小时前
51单片机学习(六)模块化编程和LCD调试工具
嵌入式硬件·学习·51单片机
@菜菜_达2 小时前
Vue 入门学习
前端·vue.js·学习
Dr.F.Arthur2 小时前
我的算法学习笔记——链表篇
数据结构·笔记·学习·链表