渗透测试思路
端口扫描
注意未授权访问漏洞:mongoDB/redis/hadoop/
推荐工具:
nmap—时间较长
小米范—可快速发现很多页面的未授权访问
常规测试点
- 明文传输(中危):抓包,是不是HTTPS,是HTTPS不算明文传输。
- 账号枚举(低危):直接通过登录提示信息(类似:账号不存在、密码错误),抓包看返回包。
- 暴力破解(中危,破解到是高危):验证码有没有,有验证码是不是有效的验证码(截住数据包,前端页面不刷新,验证码能一直复用,修复“验证码使用一次之后强制销毁”)
- 登录处如果有短信验证码:有没有短信炸弹,后端限制:发送间隔、此手机号今天能发送短信的最多次数。短信验证码会不会response返回包里面返回(验证码短信验证码要在后端验证)
- 登录处xss(比较灵活)
- 登录处sql注入(最常见:万用密码)
- 登录处越权:多次数据包交互,尝试将数据包中的低权限账户名改为高权限账户名;另一种是如果有类似SID(roleID)的尝试SID(roleID)值;直接拿御剑类的进行目录枚举,或者抓取登录之后才能打开的某些页面的数据包,直接删除数据包的cookie,看能否还能返回这个页面(登录数据包除外)。
- 会话固定:登录前后JSESSIONID不改变。
- HOST头攻击:后端直接获取request数据包头中的HOST字段值作为重定向的url地址。
- 目录枚举:御剑类跑目录。
- 公网系统还有撞库攻击:公网系统,用户量较大,可能会有撞库风险,修复:加验证码,加源IP限制。
- 登录后的垂直越权:比如:高权限账号有“用户管理”功能,低权限账号没有此功能,记录高权限用户管理的URL,使用低权限账号直接打开此url看能否越权访问。
- 登录后的CSRF:删除功能、用户新增功能。。。
- 登录后的SQL/XSS:
- 任意文件上传:找上传点,看是否检测后缀,能否绕过,尝试利用解析漏洞。
- 任意文件下载:下载功能处、file=a/b/,…/…/…/…/…/…/…/…/…/etc/passwd
- XXE和SSRF: