网站安全检测内容(人会问该如何开启数据库的日志,如何查看?(组图))

优采云 发布时间: 2022-02-18 18:02

  网站安全检测内容(人会问该如何开启数据库的日志,如何查看?(组图))

  很多客户会在网站和APP上线的时候提前对网站进行全面的渗透测试和安全测试,提前检测现有的网站漏洞,避免后期网站 开发过程中发生重大经济损失。前段时间,一位客户找我们寻求渗透测试服务。在这里,我们将记录整个渗透测试过程和客户的安全测试,以及发现的漏洞,分享给大家,也希望大家对渗透测试有更深入的了解。

  

  在为客户网站服务的同时,首先要了解网站的分析数据包和各种功能,这将有助于我们在渗透测试中发现漏洞,修复漏洞,进行综合。客户端网站的架构、规模、数据库类型,使用的服务器系统,无论是windows还是linux,都必须在前期采集信息,做到知敌知己。只有真正了解网站,才能逐层找出漏洞。 网站采用php语言开发,使用mysql数据库,客户端服务器使用linux centos系统,搭建phpstudy一键环境,php版本为5.5,mysql数据库版本为5.< @6.Customer网站 是一个使用会员登录的平台。功能基本是交互的,比如会员信息修改、银行卡添加、充值提现、在线反馈等。

  

  让我们开始我们的整个渗透测试过程。首先客户授权我们进行网站安全测试,然后我们就可以放手了。首先要检测的是网站中是否存在SQL注入漏洞。当SINE Security检测到网站是否有sql注入时,会配合查看mysql数据库的日志,检查我们提交的SQL语句是否执行成功,所以很多人会问怎么打开数据库以及如何检查它?首先连接linux服务器的SSH端口,使用root账号密码进入服务器,打开mysql配置文件f,编辑general_log_file=(日志日志地址),general_log=1,在里面输入tail -f(日志地址)服务器查看实时数据库语句执行日志。我们的SINE安全技术在测试SQL注入漏洞时,会实时看到是否有恶意SQL语句被成功执行。如果是这样,数据库日志中会出现错误信息,这在渗透测试中非常方便,也更方便。有助于发现漏洞。

  

  这里就不详细分析代码了。在测试过程中,我们发现平台后台管理页面存在SQL注入漏洞。当管理员登录后台时,我们看到 guanlilogin.php 中的 POST 到 guanlicheck.php 来检查管理员的账号密码是否验证。在验证过程中,guanlicheck.php没有对传入的参数进行安全验证,导致SQL注入漏洞的发生。具体代码如下

  

  代码中的getenv参数是获取前端用户的https头信息。通过数据比较,如果长时间头部信息过大,则返回值0,然后分配IP值。一般来说,没有安全检查和拦截。将变量IP直接带入mysql数据库。因此,就会出现 SQL 注入漏洞。那么在渗透测试中发现的SQL注入漏洞就是一个高危漏洞,危害很大。它可以篡改数据,修改数据库,重置管理员密码,或者获取所有用户账号密码等信息。当用户信息泄露时,使用数据库权限修改管理员密码登录后台进行下一步提权,上传webshel​​l,控制网站的代码。

  

  接下来,我们要检查网站的各个功能和APP功能是否存在逻辑漏洞、非法漏洞、横向纵向等,每个功能我们都详细测试了很多次,一次,两次,反复测试多次发现用户重置密码功能存在漏洞。正常的功能代码设计就是这样一个过程。首先判断用户的账号是否存在,下一步判断用户的手机号是否与数据库中的手机号一致。 , 这里做个简单的安全检查,但是获取手机号验证码的时候没有做安全检查,所以可以修改post数据包,把手机号改成任意手机号获取验证码,使用修改重置密码的验证码。

  

  如何修复渗透测试中的SQL注入漏洞?

  对前端输入的值进行安全判断,确认变量值是否存在。如果存在,则不会被覆盖。为防止变量覆盖导致GET请求和POST请求中恶意构造SQL注入语句代码,过滤非法字符的输入。 '分号过滤--过滤%20特殊字符过滤、单引号过滤、%百分号过滤、tab键值的安全过滤等。如果对代码了解不多,也可以找专业的< @网站安全公司处理,修复逻辑漏洞,在密码找回功能页面进行安全验证,检查账号身份是否属于当前手机号码,如果不是验证码不能发送,其实是代码功能的逻辑设计有问题。如果逻辑理顺,漏洞修复很容易。也希望这个渗透测试的过程能够让更多的人了解渗透测试,安全防范之患。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线