:::info 💡 根据 遗忘曲线:如果没有记录和回顾,6天后便会忘记75%的内容
笔记正是帮助你记录和回顾的工具,不必拘泥于形式,其核心是:记录、翻看、思考 :::

书名 OWASP安全测试指南
作者 阿蒙
状态 待开始 阅读中 已读完
简介 为了在测试的时候,流程更清晰,更系统,不遗漏漏洞点,特根据owasp 安全测试指南V4来总结自己的一套方法论。

思维导图

用思维导图,结构化记录本书的核心观点。

OWASP方法论-认证篇 - 图1

认证

口令信息加密传输

测试应用是使用HTTP还是HTTPS,还是一半HTTP一半HTTPS,在传输关键数据时,我们都要求使用HTTPS。或者使用HTTP但要求强加密算法。

使用HTTP传输登录数据,查看个人信息时,会带来明文传输的风险。 使用HTTP方法,但是用户名密码什么的会加密了,看使用的加密算法安不安全。 看应用支持的加密算法,支持TLS1.1及以下,则不安全,用nmap扫描。 有些应用是HTTP页面上使用HTTPS传输数据,这也有风险,可能会受到SSL Strip攻击。 有些应用是使用了HTTPS,但是传输数据使用了GET方法,虽然也是加密的,攻击者捕捉不到,但是这些请求可能会被保存在浏览器历史,或者服务器日志等地方。那么用户名密码也会有被盗取的风险。 所以安全的做法是HTTPS加POST方法。

默认口令

这个没什么好说的,很多系统会使用一些开源的或者商业软件来开发或者管理,一般这些软件都会有几个账号,都会有默认的密码,如果网站维护者没有更改,那么就会被攻击者利用,攻击几乎没有成本。

平时收集一些比较出名的,开源或者商业软件的默认密码。 一些安全设备的默认密码,路由器,防火墙等。 admin用户应该都是改过密码的,但是一些隐藏用户,比如审计用户,测试用户,guest等可能会被忽略。

账户锁定机制

为了防用户枚举和密码暴力破解,加入验证码是个不错的机制,但是不是绝对安全的,因为现在有很多软件可以识别到验证码,所以锁定机制更好。

输入次数一般5次就锁定最好。 锁定时间根据实际业务来看。30分钟或者一个小时等等。 如果锁定了,如何解锁,找管理员手动解锁最好。 如果管理员被锁定了,解锁机制是什么。

认证绕过

这个重点就是越权行为,不管是垂直越权还是水平越权,抑或是未授权。实际上这个是覆盖很广的问题,很多功能点都需要测试这个认证授权的问题。

未授权访问:在未登录的情况下,直接强制去请求一些需要认证的页面,看能不能访问到。一般快速的测试方法是抓包把cookie,token等去掉。 垂直越权:用普通用户的cookie去请求一些管理员才能访问的页面,看能不能得到相应的信息。有些程序是通过一个固定的参数来验证用户登录状态的,修改参数,比如从auto改成yes,user改成admin,看能不能得到相应的信息。 水平越权:查看自己的信息时,如果发现有一些特殊参数用来标识用户的,比如listid,userid,id等,遍历这个参数,看能不能得到其他人的信息。

记住密码功能

这里所说的记住密码有两种,一种是浏览器记住密码,另一种程序本身提供的记住密码功能。

客户端提供了记住密码功能,密码是存在哪里的,有没有被明文存储。 网页端提供的记住密码功能,密码是存在哪里的,有没有被明文存储。

密码策略

看业务场景,对密码的要求是怎么样的

密码长度要求:至少8个。 密码组合要求:字母数字双因素或三因素。

密码重置

一般普通用户有密码重置功能,而且只有管理员能重置普通用户的密码,或者通过自设安全问题来重置自己的密码。

管理员能重置自己的密码吗,怎样重置 看重置需要的条件是什么,如果是某个固定的参数,替换管理员的或者其他用户的,测试垂直越权和平行越权。