最近忙于事情没有抽出时间来分享渗透测试文章,索性今天由我们的高级渗透大牛给人人详细讲下主要在营业中发现逻辑和越权的破绽检测方式,希望人人能对自己的网站平安举行提前预防和领会,再次提醒做平安测试前必须要有正规的授权才气举行测试,提供网站的平安性保障权益。
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等数据库无密码且没有限制接见
- 加密系统
- 在客户端存储私钥
- 三方库/软件
- 公然破绽后没有实时更新,若是对此有进一步的想增强网站平安性以及渗透测试服务,可以咨询专业的网站平安公司来处置解决.
本文来源于自互联网,不代表n5网立场,侵删。发布者:虚拟资源中心,转载请注明出处:https://www.n5w.com/72351.html