scalpel
scalpel copied to clipboard
【需求】增加响应对比规则
整体来说不错,但是看了下poc规则,目前的response_check只有匹配,没有对比规则。但是从实际考虑很多情况是与初始请求对比,比如通过页面相似度,或者对比页面响应大小等等,来判断是否存在异常的。毕竟变异参数值后,我也不知道结果会包含什么特定字符串,那该怎么去判断。
感谢您的反馈,我们会记录需求和改进建议。扫描器的功能和POC库也会持续维护和更新。
针对您的问题:扫描器是使用POC文件进行变异的,POC中会有info、变异位置、变异方式、输出检查四个模块。变异方式则是具体做什么变异操作的部分,例如:替换参数为特定字符串等。具体可参考:https://github.com/StarCrossPortal/scalpel/wiki/POC%E7%BC%96%E5%86%99%E6%8C%87%E5%8D%97。 在使用扫描器检测到安全问题后会在结果中记录漏洞名称、变异后的请求和响应等信息。您可以查看具体的POC,对比检测到的结果,就可以看到具体做了什么变异,插入了什么payload、包含什么特定字符串等等。
问题是编写POC文件的检测规则,比如嵌套json存在某个参数a, 该参数值会被带入后端查询,当该参数a的值为all的时候,它会返回比原来多很多数据,但这些数据是完全未知的,如果使用POC,又该怎么编写规则,似乎现有的响应检测无法完成? 再具体一点,布尔盲注该怎么编写规则?理论上是可以通过检测两次相应包来判断的。
是的,这是一个新的需求。我们也正在考虑和实现在扫描器中新增对这种需要连续数据包关联操作漏洞的检测逻辑。