> 文章列表 > 命令注入(2)

命令注入(2)

命令注入(2)

过滤目录分隔符

这次的flag文件是放在一个目录底下的,并且过滤了/目录分隔符

命令注入(2)

通过ls命令查看到一个文件夹,flag应该就在下面,虽然过滤了目录分隔符,但是我们既然能执行Linux命令是不是可以直接利用cd命令进入目录

命令注入(2)

注意这里的连接符编程了分号,意味着顺序执行,利用|管道符做不出来

然后进入查看后就可以看见我们的flag文件

命令注入(2)

成功获取flag

需要注意的是,在base64之前的分割符要使用管道符

意味着将查询出来的flag作为参数传给base进行编码

命令注入(2)
命令注入(2)

过滤运算符

也不知道过滤了什么运算符

命令注入(2)

注入进来是这个样子,其他也都一样,但是只有;分号没有被过滤

命令注入(2)

成功查看文件

命令注入(2)

但是管道符被过滤掉了,怎么进行编码呢

命令注入(2)

进过百度发现直接查看页面源代码就可以得到flag了,不知道前面的可不可以

命令注入(2)

综合过滤练习

综合练习,试试

命令注入(2)

发现员运算符基本都被过滤掉了,分号也一样

命令注入(2)

经过上网查询,我们得知可以使用HTMLURl编码后的%0a和%0b

我有查找过这些编码是什么意思,一开始我以为是;分号的编码,结果分号的是%3B、

url不区分大小写,那么%0a和%0b对应的是换行和回车符

最好是直接在url栏中进行注入,比较直接

命令注入(2)

利用${IFS}绕过空格进入到flag目录,结果发现flag被过滤掉了

命令注入(2)

这次是直接利用\\反斜杠将flag转义

命令注入(2)

最后就是因为cat被过滤我们使用more查看flag信息

命令注入(2)

然后查看页面源码获取到信息

命令注入(2)

网页设计