专栏首页网站漏洞修补渗透测试越权漏洞测试详情
原创

渗透测试越权漏洞测试详情

最近忙于工作没有抽出时间来分享渗透测试文章,索性今天由我们Sinesafe的高级渗透大牛给大家详细讲下主要在业务中发现逻辑和越权的漏洞检测方法,希望大家能对自己的网站安全进行提前预防和了解,再次提醒做安全测试前必须要有正规的授权才能进行测试,提供网站的安全性保障权益。

3.11.1. Xpath定义

XPath注入攻击是指利用XPath解析器的松散输入和容错特性,能够在 URL、表单或其它信息上附带恶意的XPath 查询代码,以获得权限信息的访问权并更改这些信息。XPath注入攻击是针对Web服务应用新的攻击方法,它允许攻击者在事先不知道XPath查询相关知识的情况下,通过XPath查询得到一个XML文档的完整内容。

3.11.2. Xpath注入攻击原理

XPath注入攻击主要是通过构建特殊的输入,这些输入往往是XPath语法中的一些组合,这些输入将作为参数传入Web 应用程序,通过执行XPath查询而执行入侵者想要的操作,下面以登录验证中的模块为例,说明 XPath注入攻击的实现原理。

在Web 应用程序的登录验证程序中,一般有用户名(username)和密码(password) 两个参数,程序会通过用户所提交输入的用户名和密码来执行授权操作。若验证数据存放在XML文件中,其原理是通过查找user表中的用户名 (username)和密码(password)的结果来进行授权访问,

例存在user.xml文件如下:

<users>

<user>

<firstname>Ben</firstname>

<lastname>Elmore</lastname>

<loginID>abc</loginID>

<password>test123</password>

</user>

<user>

<firstname>Shlomy</firstname>

<lastname>Gantz</lastname>

<loginID>xyz</loginID>

<password>123test</password>

</user>

则在XPath中其典型的查询语句如下:

//users/user[loginID/text()=’xyz’and password/text()=’123test’]

但是,可以采用如下的方法实施注入攻击,绕过身份验证。如果用 户传入一个 login 和 password,例如 loginID = ‘xyz’ 和 password = ‘123test’,则该查询语句将返回 true。但如果用户传入类似 ‘ or 1=1 or ”=’ 的值,那么该查询语句也会得到 true 返回值,因为 XPath 查询语句最终会变成如下代码:

//users/user[loginID/text()=”or 1=1 or ”=” and password/text()=” or 1=1 or ”=”]

这个字符串会在逻辑上使查询一直返回 true 并将一直允许攻击者访问系统。攻击者可以利用 XPath 在应用程序中动态地操作 XML 文档。攻击完成登录可以再通过XPath盲入技术获取最高权限帐号和其它重要文档信息。

3.12. 逻辑漏洞 / 业务漏洞

3.12.1. 简介

逻辑漏洞是指由于程序逻辑不严导致一些逻辑分支处理错误造成的漏洞。

在实际开发中,因为开发者水平不一没有安全意识,而且业务发展迅速内部测试没有及时到位,所以常常会出现类似的漏洞。

3.12.2. 安装逻辑

  • 查看能否绕过判定重新安装
  • 查看能否利用安装文件获取信息
  • 看能否利用更新功能获取信息

3.12.3. 交易

3.12.3.1. 购买

  • 修改支付的价格
  • 修改支付的状态
  • 修改购买数量为负数
  • 修改金额为负数
  • 重放成功的请求
  • 并发数据库锁处理不当

3.12.3.2. 业务风控

  • 刷优惠券
  • 套现

3.12.4. 账户

3.12.4.1. 注册

  • 覆盖注册
  • ’尝试重复用户名
  • 注册遍历猜解已有账号

3.12.4.2. 登录

  • 撞库
  • 账号劫持
  • 恶意尝试帐号密码锁死账户

3.12.4.3. 找回密码

  • 重置任意用户密码
  • 密码重置后新密码在返回包中
  • Token验证逻辑在前端

3.12.4.4. 修改密码

  • 越权修改密码
  • 修改密码没有旧密码验证

3.12.5. 验证码

  • 验证码强度不够
  • 验证码无时间限制或者失效时间长
  • 验证码无猜测次数限制
  • 验证码传递特殊的参数或不传递参数绕过
  • 验证码可从返回包中直接获取
  • 验证码不刷新或无效
  • 验证码数量有限
  • 验证码在数据包中返回
  • 修改Cookie绕过
  • 修改返回包绕过
  • 图形验证码可OCR或使用机器学习识别
  • 验证码用于手机短信/邮箱轰炸

3.12.6. Session

  • Session机制
  • Session猜测
  • Session伪造
  • Session泄漏
  • Session Fixation

3.12.7. 越权

  • 水平越权
  • 攻击者可以访问与他拥有相同权限的用户的资源
  • 权限类型不变,ID改变
  • 垂直越权
  • 低级别攻击者可以访问高级别用户的资源
  • 权限ID不变,类型改变
  • 交叉越权
  • 权限ID改变,类型改变

3.12.8. 随机数安全

  • 使用不安全的随机数发生器
  • 使用时间等易猜解的因素作为随机数种子

3.12.9. 其他

  • 用户/订单/优惠券等ID生成有规律,可枚举
  • 接口无权限、次数限制
  • 加密算法实现误用
  • 执行顺序
  • 敏感信息泄露

3.13. 配置安全

3.13. 配置安全

  • 弱密码
  • 位数过低
  • 字符集小
  • 为常用密码
  • 个人信息相关(手机号 生日 姓名 用户名)
  • 使用键盘模式做密码
  • 敏感文件泄漏
  • .git
  • .svn
  • 数据库
  • Mongo/Redis等数据库无密码且没有限制访问
  • 加密体系
  • 在客户端存储私钥
  • 三方库/软件
  • 公开漏洞后没有及时更新,如果对此有进一步的想加强网站安全性以及渗透测试服务,可以咨询专业的网站安全公司来处理解决,国内推荐Sine安全,启明星辰,绿盟等等专业的安全公司。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • APP渗透测试 验证码功能漏洞的检测与分析汇总

    在对客户网站以及APP进行安全检测的同时,我们SINE安全对验证码功能方面存在的安全问题,以及验证码漏洞检测有着十多年的经验,在整个APP,网站的安全方面,验证...

    技术分享达人
  • 网站漏洞修复之图片验证码的详细修复方案

    在对网站安全进行整体的安全检测的时候,用户登陆以及用户留言,评论,设置支付密码,以及一些网站功能方面都会用到图片验证码,针对于验证码我们SINE安全对其进行了详...

    技术分享达人
  • 渗透测试公司对JAVA架构安全漏洞测试

    近期对平台安全渗透测试中遇到有JAVA+mysql架构的网站,针对此架构我们Sine安全渗透工程师整理了下具体的漏洞检测方法和防护修复方法,很多像执行框架漏洞获...

    技术分享达人
  • 网站漏洞修复公司渗透测试检测

    最近忙于工作没有抽出时间来分享渗透测试文章,索性今天由我们Sinesafe的高级渗透大牛给大家详细讲下主要在业务中发现逻辑和越权的漏洞检测方法,希望大家能对自己...

    网站安全专家
  • 关于Golang语言数组索引的有趣现象

    在Twitter上看到Dave Cheney提了个pop quiz 勾起了我的好奇心,可以猜下下面这段代码的运行结果。 package main impor...

    李海彬
  • 关于Golang语言数组索引的有趣现象

    在Twitter上看到Dave Cheney提了个pop quiz 勾起了我的好奇心,可以猜下下面这段代码的运行结果。 package main impor...

    李海彬
  • 【业务安全】业务安全之另类隐患

    接收到提测邮件后,安全测试人员首先对已知漏洞在测试环境进行验证。使用burp对登录接口进行枚举验证:

    aerfa
  • 别@微信团队了,我用Python给自己戴上了圣诞帽!

    引言 大家纷纷@官方微信 给自己的头像加上一顶圣诞帽。当然这种事情用很多P图软件都可以做到。但是作为一个学习图像处理的技术人,还是觉得我们有必要写一个程序来做这...

    企鹅号小编
  • LastPass密码管理器再曝严重漏洞,基于浏览器的密码管理器还能用吗?

    没有使用密码软件前,大家容易忘记密码;使用密码软件后,大家“无奈地”泄露了所有密码。LastPass,最受欢迎的密码管理软件之一,近日再次爆出安全漏洞。安全人员...

    FB客服
  • CTF| SQL注入之login界面

    SQL注入是CTF WEB方向必不可少的一种题型,斗哥最近也做了一些在线题目,其中最常见的题目就是给出一个登录界面,让我们绕过限制登录或者一步步注入数据。 万...

    漏斗社区

扫码关注云+社区

领取腾讯云代金券