Java教程

11、WEB漏洞-必懂知识点讲解

本文主要是介绍11、WEB漏洞-必懂知识点讲解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

本章节将讲解各种 WEB 层面上的有那些漏洞类型,具体漏洞的危害等级,以简要的影响范围测试进行实例分析,思维导图中的漏洞也是后面我们将要学习到的各个知识点,其中针对漏洞的形成原理,如何发现,如何利用将是本章节学习的重点内容

 

思维导图

实际应用:CTF,SRC,红蓝对抗,实战等

 

以上漏洞危害情况

SQL注入

  • 攻击者未经授权可以访问数据库中的数据,盗取用户的隐私以及个人信息,造成用户的信息泄露。
  • 可以对数据库的数据进行增加或删除操作,例如私自添加或删除管理员账号。
  • 如果网站目录存在写入权限,可以写入网页木马。攻击者进而可以对网页进行篡改,发布一些违法信息等。
  • 经过提权等步骤,服务器最高权限被攻击者获取。攻击者可以远程控制服务器,安装后门,得以修改或控制操作系统。

XSS

  • 窃取管理员帐号或Cookie,入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。
  • 窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作
  • 网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马
  • 发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息,严重影响到用户的正常使用

XXE

  • 读取任意文件
  • 执行系统命令
  • 探测内网端口
  • 攻击内网网站

文件上传

  • 如果 Web应用程序存在上传漏洞 , 攻击者甚至可以将一个webshell直接上传到服务器上

文件包含(可能含有文件包含的漏洞:inurl:php?file=)

  • web服务器的文件被外界浏览导致信息泄露
  • 脚本被任意执行,可能会篡改网站、执行非法操作、攻击其他网站

文件读取

  • 通过任意文件下载,可以下载服务器的任意文件,web业务的代码,服务器和系统的具体配置信息,也可以下载数据库的配置信息,以及对内网的信息探测等等

CSRF(用户请求伪造)

  • 以受害者名义发送邮件,发消息,盗取受害者的账号,甚至购买商品,虚拟货币转账,修改受害者的网络配置(比如修改路由器DNS、重置路由器密码)等等
  • 个人隐私泄露、机密资料泄露、用户甚至企业的财产安全

SSRF (服务器端请求伪造)

  • 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner 信息
  • 攻击运行在内网或本地的应用程序
  • 攻击内外网的 web 应用,主要是使用 GET 参数就可以实现的攻击(如:Struts2,sqli)
  • 下载内网资源(如:利用file协议读取本地文件等)
  • 进行跳板
  • 无视cdn
  • 利用Redis未授权访问,HTTP CRLF注入实现getshell

反序列化

  • 远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码,被攻击者间接控制服务器

代码执行

  • 代码执行漏洞造成的原理是由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码。造成代码执行相关的函数分别是:eval、assert函数
  • 暴露服务器信息
  • 木马植入
  • 敏感文件暴露
  • 可能升级为命令执行

逻辑漏洞

  • 在提交订单的时候抓取数据包或者直接修改前端代码,然后对订单的金额任意修改。
  • 黑客只需要抓取Response数据包便知道验证码是多少或直接绕过
  • 有些业务的接口,因为缺少了对用户的登陆凭证的较验或者是验证存在缺陷,导致黑客可以未经授权访问这些敏感信息甚至是越权操作
  • 有些关键性的接口因为没有做验证或者其它预防机制,容易遭到枚举攻击
  • Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单,导致黑客可以对cookie的效验值进行一个枚举
  • 单纯读取内存值数据来当作用户凭证
  • 用户修改密码时,邮箱中会收到一个含有auth的链接,在有效期内用户点击链接,即可进入重置密码环节。而大部分网站对于auth的生成都是采用rand()函数,那么这里就存在一个问题了,Windows环境下rand()最大值为32768,所以这个auth的值是可以被枚举的

未授权访问

  • 敏感信息泄露

命令执行

  • 继承Web服务程序的权限去执行系统命令或读写文件
  • 反弹shell
  • 控制整个网站甚至控制服务器
  • 进一步内网渗透

目录遍历

  • 攻击者通过访问网站某一目录时,该目录没有默认首页文件或没有正确设置默认首页文件,将会把整个目录结构列出来,将网站结构完全暴露给攻击者; 攻击者可能通过浏览目录结构,访问到某些隐秘文件(如PHPINFO文件、服务器探针文件、网站管理员后台访问地址、数据库连接文件等)

 

以上漏洞等级划分

高危漏洞:SQL注入、文件上传、文件包含、代码执行、未授权访问、命令执行

影响:直接影响到网站权限和数据库权限,能够获取数据或者网站的敏感文件。涉及到数据安全和权限的丢失都为高危漏洞

中危漏洞:反序列化、逻辑安全

低危漏洞:XSS跨站、目录遍历、文件读取

影响:网站的源码,网站部分账号密码

 

以上漏洞重点内容

CTF:SQL注入、文件上传、反序列化、代码执行

SRC:图片上漏洞都能出现,逻辑安全出现比较多

红蓝对抗:涉及的高危漏洞,文件上传、文件包含、代码执行、命令执行

 

案例演示

案例-SQL注入漏洞,数据库操作危害(pikachu靶场演示)

了解浏览器,数据包,数据库中间的关系

数据库中可查看此题的相关数据

show databases; 查看所有数据库

use pikachu; 进入pikachu数据库

show tables; 查看pikachu中所有表

select * from member; 查看member表中字段(此题对应的数据库表)

select * from users; 查看users表中所有字段(网站用户账号密码,存在SQL注入的话,可以通过查询这个表获取权限)

查看源代码,可以看到代码中执行的SQL语句,可以修改代码添加回显

查询可看到执行的SQL语句

burp抓包,可以看到响应数据包中执行的SQL语句

操作

修改数据包中的字段,使用联合查询语句,将users表中username,password字段查询出来

union select username,password from users

出现回显

此时查看响应数据包,也可查看执行的SQL语句

案例-目录遍历漏洞,源码结构泄漏危害(pikachu靶场演示)

发现网站文件文件夹的方法:目录扫描、网站源代码

../ 表示上级目录

访问链接显示的URL

已知WWW目录下存在l.php文件,通过目录遍历漏洞可获取

通过更改URL进入到上级文件夹中的l.php文件

文件读取漏洞-源码内容获取危害

文件读取漏洞是读取单个文件的内容。目录遍历能够读取到文件夹和文件,不能读取文件里面的内容。

案例-文件上传漏洞,WEB权限丢失危害(pikachu靶场演示)

只检测了文件名,没有检测文件类型。仅在前端做了验证,后端没有验证

上传图片测试

尝试上传PHP文件

失败

修改文件后缀,上传成功

通过burp抓包,修改请求头中的参数

上传成功

读取成功

这篇关于11、WEB漏洞-必懂知识点讲解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!