开发者社区> 网站安全> 正文

网站漏洞详细的渗透测试手法分析

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

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

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文件如下:

Ben

Elmore

abc

test123

Shlomy

Gantz

xyz

123test

则在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. 逻辑漏洞 / 业务漏洞

9

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. 配置安全

8

3.13. 配置安全

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
67 0
网站安全防护公司渗透测试从业总结
大家都在忙着自个手工的工作,掌握公司的构架,掌握公司的安全业务状况。可是和刚工作的那时候似的,充满信心,热情无尽。还记得刚到的那时候,也是对现阶段原有的环境开展网站渗透测试,对于在承包方,而且“智勇双全”的人而言,是较为熟知的工作,最终也成功取得网站服务器管理权限,而且推动修补。以后逐渐转化成业务环境上的一个钉,对业务上架开展系统安全测试。
102 0
网站做渗透测试服务的具体流程
渗透测试是指安全工程师通过模拟恶意攻击者的技术做法,对目标网站/系统/主机的安全防护系统进行深入测试,从而发现安全隐患的评估方法。安全工程师在进行渗透测试时,会使用各种安全审计工具来检测目标系统是否包含已知的各种漏洞。渗透测试完成后,安全工程师会以报告的形式列出系统中存在的安全问题,并对这些安全问题进行评估,最终为用户提供解决这些安全问题的技术解决方案。渗透测试有助于提高用户系统的安全性,已成为系统安全评估的重要组成部分,已普遍使用于各行各业。
131 0
渗透测试之网站安全评估方法详情
当前各种安全评估方法总体上按不同的划分标准可以分为四种:依据性质划分的安全评估方法、根据威胁量和攻击等级划分的安全评估方法、基于一定模型的安全评估方法、综合安全评估方法。这四类安全评价方法各有其特点,需要评价方和被测者根据自己的需求和渗透测试的具体结果,选择安全评价方法的类型。下面将对安全评估方法的四种不同类型作具体说明:
98 0
网站渗透测试方案与需求分析
在渗透测试的整个过程中,需要提前制定一个测试方案,各种因素都会影响最终的测试结论和结果。渗透测试的目标是最大限度地找出系统的漏洞,时间短,覆盖全面,说服力强。所以在方案的设计中,通过比较突出哪些方法更快更有效,渗透攻击需要点到为止,不破坏系统,也需要有针对性和速度。因此,提出了一个模块化的测试方案。单独的方法测试后,设计自动渗透测试系统,然后实现和测试,得出结果。通过方法比较,可以获得网站在建设和维护中的一些经验。
150 0
国内网站渗透测试的攻击方式都有哪些
国内对渗透测试以及安全评估的研究起步较晚,并且大多集中在在渗透测试技术上的研究,安全评估方面也有部分企业和研宄团体具有系统的评估方式。然而国内对基于渗透测试的自动化集成系统研宄还非常少,从目前的网络安全态势来看,传统的渗透测试方式己经无法满足现在网站对安全性能的要求,传统的渗透测试技术和工具都还停留在运用单一渗透测试方法或是单种测试工具,无法全面检测出网站系统存在的漏洞。
140 0
网站渗透测试中的注意事项
工作中的所有操作都在虚拟机中完成。虚拟机不登录QQ、微信、网络磁盘、CSDN等个人账户。渗透条件、开发环境和调试条件需要分离,从目标服务器下载的程序需要在单独的条件中测试和运行。渗透虚拟机应用代理IP上网。
209 0
渗透测试之获取网站服务器真实原IP的方法
在新年之季,我们SINESAFE在给客户做网站渗透测试服务的时候经常遇到一些网站域名用了CDN节点加速,导致找不到网站的真实IP,目前大部分都是用的百度云加速,阿里云CDN,腾讯云加速,网宿CDN,再就是国外的CLOUDFARE服务商来隐藏网站服务器的真实IP,那么我来跟大家分享下方法来获取用了CDN的真实网站IP。
295 0
网站漏扫服务换个思路提高渗透测试效率
在渗透测试过程中,我们可以通过插件识别类型后,使用漏洞脚本对特定系统进行模糊。在这里,笔者将与大家分享漏洞POC验证系统的设计和研究思路。在系统开发之初,选用了分布式平台设计架构。后来因为考虑到与分布式资产扫描平台兼容的接口,最后理解了耦合机制,彻底变成了单机版。首先我们可以看到这个地方没有单独设计web管理端,只能通过命令行调度。但是,在设计中,守护进程restapi是保留的,它可以接受来自第三方平台的调度请求。插件模块调用方面,主要有三个模块:流行的漏洞插件,主要用于重现常见的手工测试方法和一些团队发现的内部漏洞。密码漏洞插件:主要包括端口、中间件、未授权应用和弱密码漏洞,包括弱密码字典。
87 0
网站渗透测试报告速写模板指南
网站渗透测试服务在给客户写报告模板或者检查表的时候,应逐步完善。写报告在渗透测试中耗费大量的时间和精力。花费的时间取决于客户和经理期望的交付成果。(中文大概意思是客户和老板能不能看懂你的报告)奖励项目报告通常比渗透测试报告短,但是无论什么格式,您都将受益于为每个文档和测试类型创建模板(黑盒、白盒、Web、网络、wifi)。
204 0
+关注
网站安全
Sinesafe专注于网站安全,服务器安全,解决各类网络安全问题,对代码审计以及漏洞修补安全加固有专业的十年实战经验.官方站点www.sinesafe.com
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
如何产生威胁情报-高级恶意攻击案例分析
立即下载
代码未写,漏洞已出——谈谈设计不当导致的安全问题
立即下载
网站/服务器取证实践与挑战
立即下载