网站漏洞扫描的渗透测试方法
最近忙于工作没有抽出时间来分享渗透测试文章,索性今天由我们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安全,启明星辰,绿盟等等专业的安全公司。
网站漏洞扫描的渗透测试方法相关推荐
- 网站漏洞扫描 渗透方法基础大全
这几天整理了下网站渗透测试中基础部分的第三节,我们SINE安全渗透工程师对代码安全审计,手工渗透测试检查代码的危险漏洞方法,找出安全问题重点,配合工具扫描来达到测试漏洞的目的,本测试重点仅限于客户授权 ...
- 网站漏洞扫描工具Uniscan
网站漏洞扫描工具Uniscan 网站漏洞的种类有很多种,如何快速扫描寻找漏洞,是渗透测试人员面临的一个棘手问题.Uniscan是Kali Linux预先安装的一个网站漏洞扫描工具.该工具可以针对单一. ...
- 乌云内部网站漏洞扫描工具Extensible Web Attack Framework
乌云虽然已经关闭了,但是乌云之前开着的时候一直是信息安全行业学习的一个标杆网站,这个传闻中的乌云内部工具真的是及几年内的大小几点漏洞为一体,全自动渗透神器内置各种渗透所需功能,漏洞检测 CMS识别 U ...
- 通过网站漏洞扫描 找出网站被黑的原因
1:用于做黑帽优化的网站漏洞扫描系统 用一些自动化技术的专用工具来扫描一些普遍开源代码版本号系统漏洞,例如dede,phpweb,discuz这些旧版常有一些管理权限各不相同的系统漏洞,有的软件能够 ...
- WordPress 网站漏洞扫描 wpscan Kali Linux
在 WordPress 网站漏洞扫描,我将向你展示一些有用的命令 , 我们可以使用在 wpscan 搜索已知的漏洞在 wordpress 博客. 打开终端 , 使用下面的命令以启动对目标 wpscan ...
- 网站漏洞扫描工具AWVS相关问题——Access Denied for your user role. Contact your Administrator.
在AWVS登录用户后,在选择自己要使用的功能时会出现"Access Denied for your user role. Contact your Administrator."问 ...
- 等保测评漏洞扫描和渗透测试有什么区别?
漏洞扫描和渗透测试都是属于安全评估中的两种不同的类型,也经常被不少用户想成是一个概念.既然是两种不同的安全评估种类,那我们在做安全评估时,选择漏洞扫描好,还是渗透测试好呢 渗透测试是网络安全测试中比较 ...
- 网站漏洞扫描及常见问题解决
一.工具介绍 最近需要漏扫和渗透性测试,学习了行家的博客,决定使用下面几个工具,分别是Nessus.nmap.appscan和SQLmap. Nessus:Nessus 是目前全世界最多人使用的系统漏 ...
- 网站漏洞扫描工具_如何实现免费网站漏洞扫描?推荐一款神器给你
网站漏洞想必有网站的人都比较了解,想要了解网站漏洞,最好的办法就是给网站做一次漏洞扫描,网站漏扫产品比较多,费用也从几十/次到几千/次不等,但是对于我这种小企业来说,几千一次也是非常贵的,因此在我的努 ...
最新文章
- (C++)1028 人口普查
- 【笔记】opencv图像轮廓 获得平均灰度值在原图上画轮廓 观察灰度图的分解
- FD.io VPP:用户文档:VPP RPM包的构建与离线安装
- 基于FPGA的DDR3多端口读写存储管理系统设计
- 数据库左连接查询时候的技巧.
- 延迟初始化Spring Bean的几种方式
- 判断mos管好坏_想要保护电动车控制器,推荐这款STP75NF75高压MOS管
- 使用ActiveMQ实现简易聊天功能
- Android安装应用后点击打开(Open)带来的问题及解决方式
- 台式机鼠标失灵打开计算机,台式电脑鼠标没反应是怎么回事
- android tv字体,android TV 屏幕适配 (一)
- 移动硬盘格式化了的数据找到法子
- 特殊符号大全(无穷的想象力)
- java根据书签添加内容_Java PDF书签——添加、编辑、删除、读取书签
- AngularJS 的 IE 兼容性
- PMP学习笔记 第3章 项目经理的角色
- HTML表单验证pattern
- C#/VB.NET 自定义PPT动画路径
- 一种Map转Json字符串,出现“\”转义字符的解决办法
- Frame size of 257 MB larger than max allowed 100 MB