当我们渗透测试已经走到登录页面时,有哪些思路来作为本次渗透的切入点呢
本文会分享关于登录页面测试一些常规的思路(水平有限,如果有缺有错,师傅们多带带)
1.暴力破解
对于用户名密码明文传输的登陆点,通常可以使用burp爆破,这一过程中一般有两个常见的小漏洞:用户名枚举,验证码绕过。
用户名枚举:web服务对系统不存在的账号响应不同。如账号不存在,密码错误。通常根据burp响应包长度不同判断,有些对于不存在账号的响应长度一致,可以通过burp爆破模块的Grep-Extract功能设置标志位来区分。
验证码绕过:通常当验证码未与账号密码一同验证/验证码可重放/验证码前端校验/时存在绕过。
如图验证码未与账号密码一同验证,可直接重放登录包。
如图Forward登录包后,drop掉获取验证码的包,只要不刷新当前页面,验证码一直有效。
如图验证码前端校验。
还有些点验证码压根不刷新,形同虚设...
当我们通过用户名枚举/验证码绕过拿到一些账号时,就可以直接上字典爆破了。若登录点不存在用户名枚举时,我们也可以使用频率高的账号进行爆破如:admin/root/user/test。
对于一些有大量用户的系统如OA系统等等,用户名有规律00001-99999(工号)这样,或是用户名是拼音又或者是常见英文单词时,我们可以指定弱口令如123456,来跑账号。
案例:明文传输,无验证码,学生管理系统(大用户量)批量跑123456
爆破->>上传->>shell
2.SQL注入
username/password字段可能存在SQL注入。
万能密码:
平时可以收集该类字典进行fuzz。
注入:
单引号报错,判断存在注入,然后常规的联合查询注入出数据,然后登陆后台再进行下步渗透
3.登录绕过
当登录逻辑前端只校验响应状态码,可burp拦截修改状态码(true,success,200,0/具体登陆成功的状态码可在登陆页面的js文件/网页源码中找到)
4.信息泄露
可以在登录页面js文件中/网页源码中找找敏感信息。
某次项目在js找到默认的密码信息
某智慧校园系统,登录后台修改附件设置->>shell
有些登陆点登录时会check用户是否合法,返回包可能有惊喜
5.密码重置
密码重置的常见姿势可以看看上一篇《密码重置的那些事》
https://xz.aliyun.com/t/8136
案例:登陆点未发现其他利用,找回密码处分步骤,可能存在漏洞。密码重置进后台->>shell
End......
推荐阅读:
点赞,转发,在看
原创作者:17岁的one
来源:先知社区
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论