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

never_give_up

一个很有意思的题:
never_give_up - Bugku CTF平台

注意到注释里面有1p.html,我们直接在源代码界面看,这样就不会跳转到它那个链接的:

然后解码可得:

";if(!$_GET['id'])
{
	header('Location: hello.php?id=1');
	exit();
}
    $id=$_GET['id'];
    $a=$_GET['a'];
    $b=$_GET['b'];
if(stripos($a,'.'))
{
	echo 'no no no no no no no';
	return ;
}
$data = @file_get_contents($a,'r');
if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{
	$flag = "flag{***********}"
}
else
{
	print "never never never give up !!!";
}


?>

实际上就是这三个条件,

  1. id=0e123即可,php读入直接会是0
  2. b这里要求长度大于5,第一个不能是4,但是又要和1114匹配,这里直接用字符就可以绕过b=%0011111
  3. a这里要使用file_get_contents的漏洞,可以使用php://input和data://text/plain,但是我的bp版本高好像php://input没用了,所以这里用后者代替把字符串输进去

GET /hello.php?id=0e123456&a=data://text/plain,bugku%20is%20a%20nice%20plateform!&b=%0011111 HTTP/1.1

在burp加上这么一句即可:


http://www.kler.cn/a/589123.html

相关文章:

  • 聊一下CSS层叠
  • Centos离线安装perl
  • redis zset基本介绍以及底层实现
  • 【网络】Caddy 服务器如何提供 TLS(Transport Layer Security)(传输层安全协议)
  • 短视频下载去水印,用什么工具好?
  • 使用 Chrome Flags 设置(适用于 HTTP 站点开发)
  • Spring WebSocket 像写http接口一样处理WebSocket消息(Stomp协议)
  • iOS底层原理系列02-深入了解Objective-C
  • LInux基础--apache部署网站
  • rust 的Clone
  • 基于SpringBoot的“考研互助平台”的设计与实现(源码+数据库+文档+PPT)
  • 深度学习中的向量的样子-DCN
  • Leetcode hot 100 191.对称二叉树
  • 2025站群泛目录程序秒收优化新策略(关键词布局与流量分配)
  • 鸿蒙模拟器运行NDK项目失败 9568347
  • 麒麟服务器操作系统Redis部署手册
  • Javaweb后端全局异常处理器
  • Elasticsearch-07-Elasticsearch Java API Client-Elasticsearch 8.0 的高阶api
  • C#的委托Action
  • CSS Table (表格)