0%

渗透测试之攻破登录页面

渗透测试之攻破登录页面

在这里对于渗透中攻破登录框做一些记录!

1.系统绕过

如果能直接绕过登录系统界面,后面的就比较好做了,目前常见的登录系统绕过方法有:

  1. 利用xss获取到已经登陆用户或者是管理员的cookie,替换cookie后进入系统
  2. SQL注入利用万能密码登录,常见的万能密码有: ‘or’=‘or’ ‘or 1=1/* admin’ or 1=1/*
  3. 通过扫描系统目录目录遍历google hacking找到未授权访问的登陆页面,直接进入到系统内部
  4. burp抓取数据包,更改URL中的id参数,更改用户名密码字段(比如直接删去密码字段),更改cookie字段,可以越权登录到系统内部

当然对于大多数系统,这样的方法基本上都已经行不通了,但是试试无妨!

2.密码爆破

登陆界面最直接的就是密码爆破,上面说的那些漏洞我也说了,很难遇到!而对于爆破最重要的不是用的哪个工具,而是字典好不好,这里用的bp!

字典的话自行寻找吧,毕竟好东西要靠自己挖掘!当然如果是针对性极强的字典只能用工具自己生成了!

3.攻破加密传输

现在的业务系统口令传输到后端前都会进行加密处理 ,web常见的加密方式有 md5 加密、sha1 加密、RSA 加密,在此基础上总结了两种破解方式:

1.利用burpsuite的payload processing功能,把字典按照加密方式先加密再发包

img

2.用字典生成工具生成加密好的字典,然后burp直接加载加密字典

这里推荐的字典生成工具是pydictor,encode功能内置了多种加密算法,调用handler工具直接加密自己的明文字典

img

img

4.突破登录IP地址限制

如果登录系统设置了IP地址白名单,我们可以通过下面的几个http头字段伪造IP地址,用burp抓包后将下面的某个http头字段加入数据包发送到服务器

Client-Ip: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Forwarded-Host: 127.0.0.1

5.图形验证码绕过方式

如果在系统登陆界面加上了验证码,那么上面的方法基本上就都失效了,那有什么方法可以绕过验证呢

1.图形验证码不刷新

在一段时间内只要不刷新页面,无论登录失败多少次都不刷新验证码,这个时候就可以使用同一个验证码根据上面的方式进行暴力破解

2.验证码失效

不管在验证码表单输入什么样的数据,都会判断通过,但这种情况很少见

3.图形验证码可被识别,抓包直接可以获得验证码

很多网站的验证码都可以在请求数据包中找到,或者隐藏在request的cookie中,response的源码中,可以利用burpsuite的macros来匹配response中的相应数据,具体的爆破方法参见下文:

(24条消息) burpsuite爆破密码(含验证码)_Daniel-0的博客-CSDN博客_burpsuite 验证码

4.图形验证码参数直接绕过

对于request数据: user=admin&pass=1234&vcode=brln,有两种绕过方法:

一是验证码空值绕过,改成 user=admin&pass=1234&vcode=;

一是直接删除验证码参数,改成 user=admin&pass=1234。

5.万能验证码

渗透测试的过程中,有时候会出现这种情况,系统存在一个万能验证码,如0000、9999,只要输入万能验证码,就可以无视验证码进行暴力破解。

6. 验证码可被识别

有些图形验证码加入的像素线条过于简单,使用图形验证码识别工具可以识别出每次更换的验证码,在平常的漏洞挖掘过程中,如果我们发现登录的验证码非常简单且易于识别,那我们就可以尝试使用自动化工具来进行登录破解了,如 PKAV 的 HTTP Fuzzer

img

7.使用机器学习算法识别验证码

主要是对特定网站的图形验证码训练识别模型,达到一定的准确率就可以调用进行模拟提交图形验证码的值了。这个以后学习深了再说!

6.短信验证码绕过

对于网站要求输入手机号,接收手机短信并校验短信验证码是否正确进行登录的系统,突破的主要思路有:

1.短信验证码生命期限内可暴力枚举

在验证码还未过期的时间段内,可枚举全部的纯四位数字、六位数字等较简单的短信验证码;

2. 短信验证码在数据包中返回

和图形验证码一样,在response中可以直接获取到短信验证码。

3. 修改请求数据包参数或 Cookie 值绕过

比如有 post 数据包:mobile=12435437658&userid=123456, Cookie中有:codetype=1

在特定步骤,修改 mobile=自己的手机号,自己手机就可以收到别人的验证码,后面再用别人的手机号和接收到的验证码登录;

修改 Cookie 中可疑的参数和值,进行绕过,比如上面修改 codetype=0;

4. 修改返回包绕过

提交错误的短信验证码,返回包中有: status=false,在Burpsuite中修改为 status=true,即可绕过前端判断,成功进入系统。具体还要结合实际的场景,灵活操作。

结尾

看到一个渗透过程很有学习的意义,在这放个地址

实战渗透之一个破站日一天 - 知乎 (zhihu.com)

制作不易,如若感觉写的不错,欢迎打赏