模糊比精确更精确――判断URL是否存在网站安全

2024-04-14

模糊比精确更精确――判断URL是否存在网站安全(共1篇)

篇1:模糊比精确更精确――判断URL是否存在网站安全

判断一个URL是否存在,是扫描中最简单的一种,不过要做好,也不容易。很久很久以前,大家都比较淳朴的时候,存在即返回200,不存在返回404。这个时候的扫描器比较好做,直接判断HTTP的返回头状态码就可以了。

现在基本上都rewrite了,很少遇见返回404错误的情况。于是常规的扫描是先生成一个随机的足够长的URL去请求服务器,得到标准的错误页面。随后遍历字典将返回的内容与标准页面对比,一致则判定为该URL不存在。这样有个问题就是很多错误页面会有一些随机化的内容,比如当前时间、当前服务器域名或者错误的URL内容等。要命的是这个不同内容各个网站是不同的,要做一个通用的扫描还有一些难度。

于是这里引入字符串相似度判定算法,使用模糊的方式确认URL是否存在,

简单的说,返回的页面与标准错误页面相似程度非常高,达到90%以上,我们就可以判定为这个URL是存在的。这样,问题就转化成了相似度计算了。我在《URL相似度分析》中提到过集中算法,其中“编辑距离”算法刚好可以满足这里的需求。

做到这里,已经能够解决很多问题了,但是还不够。举个例子来说,我们有些网站请求/aaaaa时跳转到中文站主页,请求/bbbbbb时跳转到国际站主页。同样是错误跳转,但是总有一个和标准错误的页面相似度非常低,会被误报为URL存在。穷尽所有的错误页面是不可能的,那么这种情况如何解决?

可以简单的引入返回页面长度这个指标。以标准错误页面长度作为基准长度,计算每次返回的长度相对于基准长度的变化值。一般来说,错误页面的长度和首页之类页面的长度变化还是比较大的,而中文站首页与英文站首页的长度变化则小得多。当请求一个URL得到的返回内容与标准错误页面相似度很低,并且长度变化很大时,判定这个URL存在,否则为不存在。

误报还是有的,但是至少好了很多。

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【模糊比精确更精确――判断URL是否存在网站安全】相关文章:

精确04-20

精确测量07-22

精确度04-08

精确制导技术04-25

精确定量播种07-08

精确控制灌溉07-10

精确定位技术08-07

精确林业发展论文04-16

精确林业分析论文04-16

钢水成分精确控制07-01

上一篇:此乃我眼中雨!下一篇:大学生电子商务策划书