网站渗透测试过程中对客户网站的信息搜集
在进行客户网站和APP的渗透测试服务之前,重要的前期工作是全面收集网站和APP的信息,只有了解对方和自己,才能更好地进行渗透测试。最近,我们接到了某金融客户的委托,对其旗下的网站和APP进行安全渗透测试。我们将通过文章的形式与大家分享整个前期信息收集的过程。
无论是安全工程师还是白帽黑客,在渗透测试过程中都非常清楚信息收集的重要性。我们将从我们的角度进行信息收集和渗透。首先,我们需要弄清楚为什么第一步必须进行信息收集工作。因为只有真正了解客户,才能做到知己知彼,百战不殆。攻与防是一场你我较量的过程,对手越了解,才能更好地融入渗透测试中。客户要求我们找出网站和APP目前存在的漏洞,因此我们需要全面收集客户网站的开发语言、数据库类型、服务器IP等各个方面的信息。掌握的信息越多,漏洞点也会越多,从而找到最薄弱的环节并攻破它,进而发现其他漏洞。我们将收集到的信息分为三类:直接可用的信息、间接可用的信息和将来可用的信息。直接可用的信息是指网站存在的漏洞,比如SQL注入漏洞、远程代码执行漏洞、逻辑越权漏洞、短信验证码盗刷漏洞等。间接可用的信息是指网站后台地址、文件上传地址或者主域名下的二级域名等。将来可用的信息是指新版网站开发上线前,在官方网站公布的信息,例如某平台下个月将启用新版,这意味着新版网站可能没有经过渗透测试就上线了,存在较高的安全风险和漏洞。
在实际的渗透测试服务中,针对金融客户,我们主要从以下几个方面进行信息收集:
网址域名的信息收集:查看域名的注册信息、注册邮箱、联系人信息,通过SSL证书查看域名信息,检查网站的JS文件是否包含其他二级域名信息,以及网站后台地址信息。对APK文件进行反编译,查看源代码是否包含其他域名的接口信息。利用搜索引擎查看域名的收录情况,是否存在子域名,并使用域名暴力猜解工具进行扫描。
网站服务器的信息收集:查看网站是否隐藏真实IP,是否启用CDN。如果隐藏了真实IP,可以通过注册会员,通过邮箱发送来查看真实IP。对于存在二级域名的情况,可以使用PING工具来PING下二级域名的服务器IP地址。在国内,可以使用ping.chinaz.com进行全国各个节点的网站IP查询。对于国外的DNS查询,可以使用nslookup工具,因为国内CDN只针对国外IP进行解析。
服务器信息的搜集:确定网站服务器使用的是Windows系统还是Linux系统,通过工具扫描获取系统版本号。使用Kali系统对服务器的端口开放情况进行全面的安全检测,检查服务器是否存在漏洞,包括未经授权访问的Redis漏洞等。通过端口开放情况,查看服务器运行了哪些服务和安装的软件。
网站代码的搜集:查看网站的JS文件是否存在开源系统的痕迹,也可以通过人工搜索特征码来确定使用的CMS系统、网站开发语言和数据库类型。同时,检测网站是否存在网站防火墙,并收集网站后台地址。
以上就是我们在前期渗透测试中需要收集的一些信息。这项工作非常重要,收集的信息越多,我们就越有把握找到网站存在的漏洞。因此,很多客户在网站和APP上线之前都会进行全面的安全测试和漏洞扫描。有些客户可能认为这没什么大不了的,但一旦出现漏洞导致的经济损失,特别严重,甚至会阻碍发展。因为一旦规模扩大,修改就会变得非常麻烦。如果您对渗透测试不太了解,可以寻求专业的网站安全公司来帮助处理。网络安全是我们每个人都要关注的问题,要有安全意识和防范意识,只有双重互补,才能使网站走得更远。