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

相关推荐
py有趣5 小时前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
BreezeJuvenile6 小时前
外设模块学习(15)——MQ-2烟雾气体传感器(STM32)
stm32·单片机·学习·mq-2·烟雾气体传感器
XH1.8 小时前
学习RT-thread(RT-thread定时器)
stm32·单片机·学习
2301_796512529 小时前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust
故里21309 小时前
学习前端记录(二)21-40
学习
ThreeYear_s9 小时前
电力电子技术学习路径与FPGA/DSP技术结合方向(gemini生成)
学习·fpga开发
好奇龙猫10 小时前
【生活相关-日语-日本-入国&出国-海关&市役所(4)-办理手续】
学习·生活
sendnews10 小时前
红松小课如何成为激活老年人生活的新引擎?从兴趣学习到价值重塑!
学习·生活
The_Second_Coming10 小时前
ELK 学习笔记
笔记·学习·elk
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [kernel][time]timekeeping
linux·笔记·学习