共享金融网站脆弱性检查过程
浏览:149 时间:2023-3-6

天气越来越凉,在对客户网站代码进行渗透测试和漏洞测试的同时,我们的SINE安全渗透技术应该对客户网站的源代码进行全面的安全检测和审计。只有真正了解网站,才能更好地进行渗透测试,发现网站漏洞,尽最大努力让客户网站的安全防护在上线前达到极致。在网站和平台快速发展的后期,可以避免重大漏洞造成的经济损失。

首先,我们来分享一下前段时间我们的SINE Security在客户金融平台上的渗透测试过程,在审核代码的时候发现了问题。首先我们看到客户网站使用的php语言mysql数据库,前端也使用了VUEJS框架。在进行渗透测试之前,我们应该检查客户网站的源代码是否加密混淆,然后检查php文件对应的URL地址是否被调用。或者单独的pHp函数页,条目文件的代码和index.php主页的访问页是否一致。接下来,我们需要知道整个金融平台网站的目录中包含哪些功能目录。这次我们发现的是,客户网站具有会员注册、头像上传、银行卡添加、充值、提现、投资记录、意见反馈、个人资料修改等功能。

我们的SINE安全正在进行网站代码的安全审计,采用的审计方法是跟踪调试敏感函数和传输值,看代码是否包含恶意代码和潜在漏洞,是否会导致网站漏洞,包括一些逻辑漏洞和垂直、并行越权漏洞。

经过一次一般性的代码审计,发现部分pHp文件存在SQL注入漏洞,且没有关闭引号的开关,导致前端引入恶意参数值后进入数据库执行,特别是在新闻简报栏目,newxinxi.php?Id=18,打开后直接调用数据库中的新闻内容,但Id的值不限制中文和特殊字符的输入,导致在后端数据库中直接执行。我们的SINE安全技术立即修复了客户网站的漏洞,将ID=的值限制为数字。不允许输入中文等特殊字符。在充值和取款功能中,我们发现客户的网站代码没有限制数字的符号,导致充值和取款输入了一个负号。在实际渗透测试中,发现在取款时输入负数可能会导致个人账户中的金额增加。后台没有检查取款功能,而是直接执行了取款功能。

在网站上编写远程执行代码也存在漏洞。它会导致网站上传到webshell,进而导致网站和服务器的权限被取下来。用户数据可能会被篡改和泄露。让我们看看这段代码,如下图:所示。

让我们看看这个变量值是如何写和赋值的。$ page,$ dir=dirname (_ _ file _ _)。\'/./backup/\'此备份是自定义备份目录。Dirname是输出文件名。当我们使用helper定义这个类时,我们会在代码中调用IF语句来判断条件是否满足。如果满足,可以远程插入恶意代码,或者构造恶意代码执行,将恶意文件输出到网站目录,如webshell。以上是我们的SINE Security在客户网站渗透测试服务中发现的一些漏洞,以及如何进行代码安全审计和共享漏洞测试过程。如果网站在运行过程中受到攻击,数据被篡改,可以找专业的网站安全公司提供渗透测试服务。国内的Sinesafe,绿盟,启明星辰都挺好的。安全可以防患于未然,发现漏洞,修补漏洞,促使网站在上线前达到终极的安全防护。只有网站安全了,用户才能安心使用。也希望更多人能了解渗透检测服务。