说说web常见的入侵方式有哪些?

分享于:2019-10-04 14:50:57

做好一个网站,最不容忽视的一个问题就是安全问题。不从服务器其他安全问题入手,单从web程序入手,入侵一个网站都有哪些方式?简单归纳下:


第一、SQL注入


62054b06155e46099fc31f16050bc348.jpeg


说起网站的安全问题,大家第一个会想到的就是SQL注入问题。“SQL注入”简单说,就是黑客提交恶意的SQL语句字符串做数据请求,而网站程序并没有对这些字符串做好验证拦截,进一步丢给了数据库执行。


楠神在mysql教程中有详细介绍,具体可看这篇文章《SQL注入安全问题》,这里不做更多介绍。


预防SQL注入,一定要做对涉及操作数据库的前台提交数据做好验证。一旦网站出现SQL漏洞被黑客利用,不仅可以无障碍登录管理后台,还会被拿到整个服务器的webshell。


第二、文件上传漏洞


网站业务需要,会有这样的上传功能:


1.png


这个功能,也是如果不做好上传文件类型验证,也会出现重大的安全隐患。黑客可利用此漏洞上传木马文件。


许多第三方框架、服务,都曾经被爆出文件上传漏洞,比如很早之前的Struts2,以及富文本编辑器等等。


预防的方式说几种:


文件上传的目录设置为不可执行。

判断文件类型,在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。 对上传的文件类型进行白名单校验,只允许上传可靠类型。

上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本,同时向shell.php.rar.ara这种文件,因为重命名而无法成功实施攻击。

限制上传文件的大小。

单独设置文件服务器的域名。


第三、远程执行命令漏洞


最近TP5框架也爆出了远程执行命令漏洞,说到底这种漏洞还是本身自己的程序对网站路由没有做好验证。


thinkPHP5远程执行命令漏洞:通过路由即可拿到webshell


其实以上三种,也是黑客获取网站服务器webshell的常见方式。


第四、XSS攻击


XSS跨站脚本攻击,这是使用JS攻击一个网站的常用方式,具体的介绍看着这里


XSS跨站脚本攻击


XSS常见利用手段是劫持用户cookie并登陆其账户。


第五、CSRF攻击


CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:


攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 


1.png


具体了解CRSF看《常见的Web攻击手段之CSRF攻击


第六、利用网站越权漏洞


1)垂直权限管理


访问控制实际上是建立用户与权限之间的对应关系,即“基于角色的访问控制”,RBAC。不同角色的权限有高低之分。高权限角色访问低权限角色的资源往往是被允许的,而低权限角色访问高权限的资源往往被禁止的。在配置权限时,应当使用“最小权限原则”,并使用“默认拒绝”的策略,只对有需要的主体单独配置”允许”的策略,这在很多时候能够避免发生“越权访问”。


例如,Spring Security, Apache Shiro都可以建立垂直权限管理。


2)水平权限管理


水平权限问题在同一个角色上,系统只验证了访问数据的角色,没有对角色内的用户做细分,由于水平权限管理是系统缺乏一个数据级的访问控制所造成的,因此水平权限管理又可以称之为“基于数据的访问控制”。


举个理解,比如我们之前的一个助手产品,客户端用户删除评论功能,如果没有做水平权限管理,即设置只有本人才可以删除自己的评论,那么用户通过修改评论id就可以删除别人的评论这个就存在危险的越权操作。


这个层面,基本需要我们业务层面去处理,但是这个也是最为经常遗落的安全点。


第七、拒绝服务攻击


拒绝服务攻击的常见类型


DDOS的产生


第八、持续更新中