当前位置: 首页 > 原理解释

网站漏洞扫描原理-网站漏洞扫描原理

网站漏洞扫描啊,说白了就是给网站做个“体检”,找它身体里那些看不见的伤疤。
那会儿我认定这技术忒深奥,非要搞进实验室里装个硬核的黑盒设备,还得在机房里敲了一下午的命令行,那才叫味儿正。
后来想着,这玩意儿用到的都是基础原理,不用非得坐着,手机要么电脑连上就行,但得有个专门带摄像头和红外热成像的老鼠,不然如何知道墙后面藏了个台子呢? 实际上说到底,就是撞库。咱去爬个网页,URL 是 https://example.com,你刚点进去,它实际上已经是个 HTTP 服务了。
这时候,扫描器得去判断这种服务是不是已经挂了,要么是不是已经死了。
要是连个心跳都发不出去,那直接判定为死亡状态,根本不用去查它内部有啥。
要是网站是活的,那扫描器就得去翻它的目录,比如看看 /static 文件夹里有没有被删空了,要么看看 .htaccess 文件是不是被改八八六六了,这些都是挺典型的深水区,一般能查得动。 一旦确认网站还活着,扫描器就启动在内存里找它的密码了。
这时候得搞明白,网站密码到底是在数据库放,还是在配置文件里写,还是直接写在代码字符串里。有些网站,密码实际上就跟 SQL Injection 一样,直接写在代码行中间,比如 `SELECT FROM users WHERE password = '123456'`,这种一眼就能看出来是错的,扫描器一扫就完事了。
要是密码藏在数据库表格里,那扫描器就得用连接库去连接数据库,查表、拼单、比对,这步骤就略微复杂点,但原理还是那套。 不过目前不是挺保险吗?
是不是有 WAF 能自动封禁批量 IP?那只能让扫描器变笨一点,它得等 WAF 放行,要么把封禁的工夫戳拉那会儿,扯个长长的工夫周期,这玩意儿要是能骗过扫描器,那网站就保险了。但现实就是,WAF 有时候会漏网,要么扫描器会穿墙,这时候就得靠人工去查。 人工查的时候,还得去测指纹,看看服务器是用哪个操作系统跑的,是 Windows 是 Linux,还是那个老古董 Unix。
有时候你连不上 SSH 服务,得用 TCP 连接,这得用抓包工具看看是啥端口,是啥加密方式。
要是是 HTTP 协议,那得看有没有 SSL 证书,证书是不是被换了,证书过期没,这都是根本功。 要是连端口都测不出来,那肯定不是正常网站,肯定是挂了,要么压根就没动静。
这时候扫描器得去查 DNS 解析,看它到底想解析成啥名字,是不是被污染了,是不是被劫持了。
要是是内网就连外网,那还得查端口号,TCP 123、9200、9710 这些常规端口。 最费事的是中间层,比如 Nginx 要么 Apache 这些反向代理。扫描器得去扒出这些代理服务器,看看它背后是不是真正的后端服务。
要是代理服务器本身也被扫出来了,那后面还有得扫,但这层代理有时候能隐藏大量信息,比方说后端数据库的密码会不会被它的配置文件给泄露了。
这时候还得看配置文件的权限,比如 .htpasswd 文件,要是密码被写成明文,那扫描器一查就出来了。 实际上说到底,这技术目前的坑越来越深,那会儿可能只要能连上就是活,目前连上可能是个皮包,得去查有没有反扫描本事。
还有,有些网站用的都不是主流语言,比如 PHP 5.6、Python 2.7,要么 Java,就连是一些怪的语言,这些扫描器得专门照顾,不然连不上,要么连上了也没啥用。 再说说数据的难题。
那会儿扫描器能直接查出数据库的密码,目前得多装个 WAF 要么把封禁工夫拉长,否则就会漏网。
要是真能查到,那得去查密码在数据库里的存放方式,是加密的还是明文的,要是是明文的,那肯定有难题。 最终还得说,网络环境对扫描器影响挺大。
比如手机连上 Wi-Fi,那扫描器就得在家里跑,不然连不上,要么连上了得看防火墙。
要是是内网环境,那还得看换机是不是限制了 IP,要么是不是有防火墙在中间。
这些环境因素,有时候比代码本身的漏洞还要难对付。 总而言之,网站漏洞扫描就是个找茬,就算找出来,也不一定都是致命伤,有时候只是个小 Bug,比如显示毛病、验证码写错了,这些都能修好。但要是再深点,比如数据库密码泄露,要么关键配置被改过,那这就得去处理了。目前的趋势是越来越自动化,但也越来越难测,得靠人的经验去判断哪些是真正的坑,哪些是假的。
毕竟,保险这东西不是让你认定我就保险了,而是得时刻盯着,不能掉以轻心。
相关标签:

猜你喜欢

热门阅读

  • 赖柴尔定理-赖柴尔定理
  • 迪拜哪个国家的城市?-迪拜在哪国城市
  • 李毅吧番号及出处-李毅吧番号及出处
  • 贴春联的由来简介50字-春联由来简述
  • 思乡的名言和出处-思乡名言及出处

其他分站