命令注入(2)
过滤目录分隔符
这次的flag文件是放在一个目录底下的,并且过滤了/目录分隔符
通过ls命令查看到一个文件夹,flag应该就在下面,虽然过滤了目录分隔符,但是我们既然能执行Linux命令是不是可以直接利用cd命令进入目录
注意这里的连接符编程了;分号,意味着顺序执行,利用|管道符做不出来
然后进入查看后就可以看见我们的flag文件
成功获取flag
需要注意的是,在base64之前的分割符要使用管道符
意味着将查询出来的flag作为参数传给base进行编码
过滤运算符
也不知道过滤了什么运算符
注入进来是这个样子,其他也都一样,但是只有;分号没有被过滤
成功查看文件
但是管道符被过滤掉了,怎么进行编码呢
进过百度发现直接查看页面源代码就可以得到flag了,不知道前面的可不可以
综合过滤练习
综合练习,试试
发现员运算符基本都被过滤掉了,分号也一样
经过上网查询,我们得知可以使用HTMLURl编码后的%0a和%0b
我有查找过这些编码是什么意思,一开始我以为是;分号的编码,结果分号的是%3B、
url不区分大小写,那么%0a和%0b对应的是换行和回车符
最好是直接在url栏中进行注入,比较直接
利用${IFS}绕过空格进入到flag目录,结果发现flag被过滤掉了
这次是直接利用\\反斜杠将flag转义
最后就是因为cat被过滤我们使用more查看flag信息
然后查看页面源码获取到信息