51Testing软件测试论坛

标题: 3种常见的渗透测试漏洞总结,快来收藏√ [打印本页]

作者: lsekfe    时间: 2021-12-10 13:15
标题: 3种常见的渗透测试漏洞总结,快来收藏√
 一、越权漏洞
  越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为Web应用十大安全隐患的第二名。所谓越权,顾名思义即超过当前用户的权力范围,越至不同用户或获得更高的系统权限的一类漏洞。具体到应用当中,当服务器处理用户发起的请求时,没有对该用户的操作权限进行判定,从而导致不法分子利用该漏洞篡改用户信息,达到增删改查的目的。该类漏洞在当前的测试中可通过Fiddler手工测试或Appscan自动扫描测试。越权漏洞一般可分为两类,即水平越权和垂直越权。
  1.水平越权:水平越权是指角色权限相同的用户之间能非法地互相操作对方的数据。例如,我们有用户A和用户B,可以通过Fiddler来代理抓包,截取用户A登录时的WEB请求报文,然后分析其Cookie、Uid等信息,通过将相关值篡改为用户B的信息,从而发掘该类漏洞。
  2.垂直越权:垂直越权是指不同角色权限的用户之间能非法地互相操作对方的数据。该类漏洞的测试原理同水平越权,区别为被篡改的目标用户B可能为系统管理员等更高权限的用户,从而达到获取不同层级权限的目的。
  二、XSS跨站脚本漏洞
  跨站脚本攻击XSS(Cross Site Scripting)是指恶意攻击者向Web页面里插入恶意Script代码,当用户浏览该页时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS漏洞可以理解为借彼之手、诱其上钩。该漏洞一般通过PHP的输出函数将Javascript代码输出到HTML中,通过用户本地浏览器执行,所以测试XSS漏洞关键就是寻找未过滤的输出函数。在一般的研发实践中,通过查找常用函数如echo、print、var等来定位目标。具体XSS可以分为三类,分别为反射型XSS、存储型XSS、DOM型XSS。
  1.反射型XSS:该类漏洞在实际操作中较为常见,攻击者通过使用带有恶意脚本的链接接触用户,由用户触发XSS来实现攻击。
[attach]135744[/attach]
主要步骤拆分:
  ①用户收到带有恶意脚本的链接
  ②通过访问该目标抵达目标服务器
  ③HTML展示预期内容同时将未过滤的用户输入记入XSS
  ④该部分XSS恶意代码向恶意服务器发起请求
  ⑤攻击者从恶意服务器获取用户原始输入
  2.存储型XSS:该类漏洞相对反射型更加隐蔽,攻击者绕开用户层预先在目标数据库铺底恶意脚本,实现用户被动触发进而实现信息窃取和后续攻击。
[attach]135743[/attach]
主要步骤拆分:
  ①攻击者在目标数据库预埋恶意XSS脚本
  ②用户正常操作访问服务器并触发该部分XSS
  ③HTML展示预期内容同时将未过滤的用户输入记入XSS
  ④该部分XSS恶意代码向恶意服务器发起请求
  ⑤攻击者从恶意服务器获取用户原始输入

  3.DOM型XSS:该漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,通过利用当前URL将返回的HTML静态文本写入DOM中的document当做JavaScrip代码执行,从而导致敏感信息泄露。
[attach]135745[/attach]
主要步骤拆分:
  ①类比反射型XSS攻击者给用户发送目标URL
  ②用户访问目标服务器
  ③服务器返回包含JavaScrip的HTML展示给用户
  ④该部分XSS利用①中的URL返回给攻击者
  ⑤攻击者获取敏感信息对目标发起攻击

  三、文件上传漏洞
  文件上传类漏洞指文件上传功能模块或接口,未对文件类型、附件大小等信息进行校验,从而导致攻击者通过文件上传接口上传恶意文件。如果上传的文件类型和访问权限不作控制,则攻击者可利用此漏洞上传恶意脚本或后门程序,获取服务器权限,控制服务器。同时,也可达到消耗服务器资源使其拒绝服务进而瘫痪。
  文件上传漏洞在测试中的关注要点:
  1.关注是否限制了上传文件的大小,通过比对Post支持的大小来判断上传大文件是否会导致内存、磁盘耗尽从而拒绝服务。
  2.关注上传文件类型是否进行了控制,通过修改文件名最后一个点号后面的后缀(包括点号)后做上传,判断是否可以绕过文件类型、扩展名等校验判断。
  3.关注上传的文件存放路径安全性、上传目录解析、读取、下载等权限控制。

  以上三类为渗透测试中较为常见的漏洞,也是研发过程中容易被忽视的地方。工欲善其事,必先利其器。在针对漏洞的测试过程中,通过对Fiddler、Wireshark、Jmeter、Burpsuite等工具的应用可以在操作层面掌握截取、抓包、断点、篡改、再请求等操作,结合研发过程中的通用实践来判断程序结构和目标函数。工具、知识及经验的不断积累与组合应用会助你更高效地开展渗透测试,发掘各类漏洞。

作者: 千里    时间: 2021-12-14 09:05
支持支持楼主




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2