对某客户网站的SQL注入与逻辑漏洞的渗透测试过程



       天气越来越凉爽,在对客户网站代码进行渗透测试,漏洞测试的同时我们SINE安全渗透技术要对

客户的网站源代码进行全方位的安全检测与审计,只有真正的了解网站,才能更好的去渗透测试,发现

网站存在的漏洞,尽可能的让客户的网站在上线之前,安全防护做到最极致.在后期的网站,平台快速发

展过程中,避免重大的漏洞导致的经济损失.

 
 
首先分享一下我们SINE安全前段时间对客户的金融平台的渗透测试过程,在审计代码的时候发现了

问题,首先看到的是客户网站采用的php语言+mysql数据库,前端还使用了VUE JS框架,在进行渗

透测试前,我们要检查客户网站的源代码是否加密以及混淆,再一个查看php文件是否对应的URL

地址,是调用的,还是单独的PHP功能页面,还有入口文件和index.php首页访问页面的代码是否一

致化.接着要了解的是整个金融平台网站的目录,都包含哪些功能目录,这次我们检查到的,客户网

站有会员注册功能,头像上传功能,银行卡添加,充值,提现,投资记录,意见与反馈,个人资料修改等

等功能.

 
我们SINE安全在进行网站代码的安全审计,采用的审计方法是敏感函数以及传输值的追踪与调试的

办法去查看代码是否含有恶意代码以及存在的漏洞隐患,是否可导致产生网站漏洞,包括一些逻辑漏

洞,垂直,平行越权漏洞的产生.

 
在大体的代码审计一遍后发现有些PHP文件存在SQL注入漏洞,没有开关闭合引号,导致可以前端传

入恶意的参数值,并传入到数据库中进行执行,尤其新闻公告栏目里newxinxi.php?id=18,打开后是

直接调用数据库里的新闻内容,但是ID这个值没有限制输入中文以及特殊字符,导致直接执行到后端

的数据库当中去了,我们SINE安全技术随即对客户的网站漏洞进行了修复,限制ID=的值为数字,不

允许输入中文等特殊字符.
在充值,以及提现功能里,我们发现客户的网站代码并没有对数字的正负

号进行限制,导致
可以输入负号进行充值,以及提现,在实际的渗透测试中发现提现中输入负数,可以

导致个
人账户里的金额增加,后台并没有审核提现的功能.而是直接执行了提现功能.
 
 
网站还存在远程执行代码写入漏洞.可导致网站被上传webshell,进而导致网站的权限以及服务器的

权限被拿下,用户数据被篡改被泄露都是可以发生的.我们来看下这个代码,如下图:

 
我们来看下这个变量值是如何写,如何赋值的,$page, $dir = dirname(__FILE__)

.‘/../backup/’这个backup就是自定义的备份目录.dirname 就是输出的文件名,当我们用helper

去定义这个类的时候,就会调用代码里的IF语句,判断条件是否满足,如果满足就可以导致远程插入

恶意代码,或构造恶意的代码去执行,并输出恶意文件到网站目录中,像webshell都是可以的.



以上是我们SINE安全在对客户网站进行渗透测试服务中发现的一部分漏洞,以及如何做的代码安全

审计,漏洞测试过程的分享,,如果网站在运行中出现了被攻击,数据被篡改等攻击问题,
可以找专业的

网站安全公司来进行渗透测试服务,国内SINESAFE,绿盟,启明星辰,都是比较
不错的,安全防患于未

然,发现漏洞,修复漏洞,促使网站在上线之前安全防护做到极致,网站安
全了,用户才能用的安心,也希

望更多的人了解渗透测试服务.
分享: