0x00 万能密码/弱口令/空口令
- 虽然几率很小,但也就随手试一下的事情:
'or 1=1 –
"or "a"="a
- 如果是一些开源平台或网络设备或安全设备之类的一定要去尝试一下默认口令。
admin/123456(相当好用)
admin/admin
admin/admin888
admin/password
- 可以测试不输入密码看是否能够登录成功
0x01 爆破/枚举
这里有个前提,就是没有验证码,有验证码的话,看后面检测验证码。
用户名枚举:我们尝试完万能密码和弱口令都无果以后,可以使用Burp抓包看看用户名是否可枚举,通过返回包的大小来判断用户存在与否。
密码爆破:然后拿着枚举出来的账号进行密码的爆破,通常Web就是用Burp
0x02 Sql注入
有的系统在登录口就存在SQL注入,我们通过正常登录进行抓包,然后发送到repeater进行不断尝试。
或者直接Sqlmap梭哈,用Burp抓个登录包,放入txt,然后用sqlmap跑。
0x03 密码找回功能
1、用户名枚举:如果页面存在密码找回功能的话,利用密码找回功能也可以用Burp抓个包,看看返回包内容是否一致,如果不一致可能存在用户枚举。
2、账号相关敏感信息泄漏:然后通过枚举到的用户名进入密码找回功能,还是要抓个包,看看返回内容,指不定有惊喜哦,也很有可能返回一个携带敏感信息的json串。
3、应答中存在影响后续逻辑的状态参数:有的还可以任意密码重置,比如
客户端发一个验证码包,我们这时随意输入验证码,发包,返回包。
返回包错误的回显为{"status":0}
将返回包的东西换成{"status":1},即可重置密码
4、重置凭证泄漏:有的是使用手机号进行密码找回,那么我们可以通过Burp抓包看看是否会把code返回过来,进行前端验证。
5、用户混淆:有的还可以通过自己的手机号接收一个验证码,然后这个验证码可以重复利用,code没有进行销毁。没有一个手机号对应一个验证码,只不过是检索是否有这个验证码。
6、重置凭证未校验:修改密码的时候,抓个包,把request包里的手机号修改为自己手机号,接收到验证码,可能就任意密码重置了。
0x04 注册功能
1、注册功能大多时候都是手机号或邮箱,而且是短位的验证码,这时候我们其实最好用的就是爆破,直接任意用户注册一波。
2、注册时如果显示该用户已注册,在注册新用户的时候抓包,把自己的信息改为admin,有可能覆盖admin,重新注册。
0x05 未授权登录、认证绕过
1、当我们尝试登录时候,抓包看返回结果,看到一些参数就修改为true、Success、1等就可能登录绕过。
2、如果是通用的框架的话,可以找其他一个弱口令进去,抓一个正常登录的返回包,然后复制过来,替换掉返回包,很可能就绕过登录了。
3、有一些跳转登录的话,修改返回包为200ok,会直接跳到正确页面。
4、修改cookie的值看时候可以直接越权使用管理员权限
0x06 目录扫描/目录遍历
- 目录扫描是一个存在惊喜的地方,说不定能扫描到后台未授权访问的链接、备份文件、编辑器、敏感信息等。
0x07 禁用JS 分析F12的源代码
禁用JS和查看源代码,有时候也会有意想不到的惊喜。插件Disable JavaScript
例如某些重定向,某些权限缺失,在我们未授权进入后台一瞬间,就会重定向回去登录页面,而如果此时我们禁用了JS,则可以进行一定权限的控制。
查看源代码则不用多说,有的不大聪明的程序员可能会在源代码里泄露一些不可告人的秘密,例如测试账号,还有我们可能会找到一些网站的后台结构,以及JS接口。
0x08 验证码相关
1、验证码可修改接收者
可将A账号的修改密码验证码接受者修改为B,这样A账号的验证码就会发到B的手机上,从而B可以重置A的账号密码
例如A账号moblephone=13333888888 ,这点是可控的,我们修改为moblephone=18888888888,即可收到A账号的重置验证码
骚操作:再比如moblephone=13333888888,我们可以修改为moblephone=13333888888,18888888888,看两个手机号是否都可以收到验证码
2、登录验证码可绕过
- 可能存在万能验证码0000或者9999,不过此类情况较为罕见。更多的情况为修改返回包,可能会出现可绕过逻辑判断。
3、验证码可爆破
- 验证码失效的时间过长,并且为纯数字或者过短字符,导致可被爆破。
4、验证码回显前端
- 有的网站验证码会回显到前端,只需要抓包即可获得验证码
5、验证码不刷新
- 验证码不会自动刷新,导致我们可一码多次使用,我们只需要输入一次验证码就可以让我们能够开始进行暴力破解。
6、验证码识别
- 可以通过burp插件captcha-killer做验证码识别爆破
0x09 JWT垂直越权
JWT全称叫 JSON Web Token,现代 web 应用中替代 cookie 表示用户身份凭证的载体。
通常 token 要么用作身份凭证、要么用于防 CSRF,若是前者,就不应该与同样表示身份凭证的 cookie 同时存在,若是后者,通常为 16 位或 32 位的哈希值,而非用点号分隔的三段 base64。于是,依次将每段解码:
0x10 短信轰炸/邮箱轰炸
短信轰炸很常见,一般在发送验证码后抓包,不断repeate即可,如果做了一定防护的话,在添加空格,或者特殊符号,或+86等都可以进行绕过。未经过防护的短信爆破十分常见。一般人可能抓包重放失败后就放弃了。
发送短信处一般每隔60秒才能发送一次,但若是发包时在手机号后加上一个空格、加号或换行符等特殊字符。然后重新发送,这时若发送成功,则说明可绕过限制。在intruder模块只要持续递增空格就可造成无限短信轰炸
0x11 框架漏洞shiro、log4j
shiro:shiro如果存在默认密钥,可以构造remeberme请求头执行任意命令。
log4j:可以通过在账号密码处或者请求头处插入指定payload看是否可以接收到jndi请求。
0x12 XSS
x-forward-for:通过在x-forward-for请求头插入xss payload,看管理员是否会查看日志触发xss。
username:通过在账号处插xss payload,看管理员是否会查看日志触发xss。
版权归原作者 Thunderclap_ 所有, 如有侵权,请联系我们删除。