[Geek Challenge 2022]Web部分 writeup by q1jun
0x01 题目:登入试试
GeekChallengeUser ~ % ./登录试试=== challenge info ===
type: web
points: 50
description: http://121.5.62.30:38001/EasyTime/
hint: Syclover用户忘了他的密码,咋办哦,依稀记得密码为6位数字,以774开头,这次我们来爆爆他的密码,让他再也不犯相同的错了
=== challenge info ===
please input your flag:
解题思路
进入页面,输入用户名Syclover和密码774
打开Yakit代理抓包:
很明显密码是经过前端md5加密过的。
md5(774)=4e0928de075538c593fbdabb0c5ef2c3
题目提示 密码为6位数字,以774开头
通过脚本生成字典:
import hashlib
payload = "774"
for i in range(1000):payload1 = payload+str("%03d"%i)# print(payload1)print(hashlib.md5(payload1.encode()).hexdigest())
复制到yakit中保存为payload,并保存:
可以在Payload 管理中查看已保存的payload:
右键劫持到的http数据包,发送到Web Fuzzer中进行爆破:
选中需要爆破的密码Value,并右键,选择插入模糊测试字典标签
:
选择我们前面生成的Payload:
随后可以在Web Fuzzer
面板勾选高级设置调整Fuzz参数,然后发送数据包,
即可在右边的Responses处看到返回包:
点击响应大小即可筛选出爆破成功的返回数据包并查看:
flag:
SYC{xi_huan_4_l}
0x02 题目:来发个包
GeekChallengeUser ~ % ./来发个包=== challenge info ===
type: web
points: 50
description: http://120.77.11.65:8101/
hint: vanzy写了个拿flag的接口,但是好像有东西忘记改了
=== challenge info ===please input your flag:
解题思路
进入网站,查看源代码
发现在/flag.php
下发送POST请求包即可获得flag:
flag:
SYC{:D_y0u_has_known_how_to_construct_a_requests_by_yourself}
0x03 题目:Can Can Need
GeekChallengeUser ~ % ./Can Can Need=== challenge info ===
type: web
points: 50
description: http://1.14.92.115:4091/
hint: 签个到我就跑(
=== challenge info ===please input your flag:
解题思路
签到题,打开 http://1.14.92.115:4091/ 发现提示:请从本地访问
显然这是考察HTTP协议的题,那就根据题目提示一步步走即可拿到flag,这里不过多赘述,直接上步骤:
X-Forwarded-For: 127.0.0.1
好像不太行,就换个姿势用Client-ip: 127.0.0.1
继续根据提示修改HTTP数据包Headers,添加Referer: sycsec.com
:
修改User-Agent :
添加From: VanZY@Syclover.com
:
flag:
SYC{E3sy_Http_hhXD2333}
0x04 题目:L0veSyc
GeekChallengeUser ~ % ./L0veSyc=== challenge info ===
type: web
points: 50
description: www.sycsec.com
hint: 欢迎来到极客大挑战2022 flag以SYC开头
=== challenge info ===please input your flag:
解题思路
进入www.sycsec.com 打开F12即可获得FLAG
flag:
SYC{We1c0me_t0_Geek_2022!}
0x05 题目:justphp
GeekChallengeUser ~ % ./justphp=== challenge info ===
type: web
points: 150
description: http://124.71.215.231:11451
hint: Canzik学长爱睡觉,等他睡醒了就给你flag
=== challenge info ===please input your flag:
解题思路
打开网址 http://124.71.215.231:11451 得到源码:
<?php
error_reporting(0);
include_once ("flag.php");
highlight_file(__FILE__);
$sleeptime=$_GET['SleepTime'];
if(isset($sleeptime))
{if(!is_numeric($sleeptime)){echo '时间是一个数字啊喂!';}else if($sleeptime < 86400 * 30){echo '这点时间哪够Canzik学长睡啊';}else if($sleeptime > 86400 * 60){echo '别让Canzik学长睡死在这啊!';}else{echo '<br/>Canzik学长很满足,表示这次把这辈子的觉都睡完啦!flag在这,自己拿吧:<br/>';sleep((int)$sleeptime);echo $flag;}
}
?>
这是一个sleep()绕过的题,原理是强制转换0.??e
开头的科学计数法数字为int
时会解析为0
:
❯ php -r "echo var_dump(0.2e123);"
float(2.0E+122)
❯ php -r "echo var_dump((int)0.2e123);"
int(0)
86400 * 30 = 2592000
即 0.2592e7
所以payload如下:
flag:
SYC{C@nzik#lik3s_to#sleeP_in_class?*#}
0x06 题目:jsfind
GeekChallengeUser ~ % ./jsfind=== challenge info ===
type: web
points: 150
description:
hint: 游戏玩不了的话请使用chrome试试;你知道如何在js文件中找出敏感路径吗?
=== challenge info ===
解题思路
输入yes
开启容器,进入后按F12找到flag.js的路径:
// "js/aaa/aaa/aaa/bbb/bbb/bbb/bbb/bbb/bbb/aaa/aaa/aaa/aaa/aaa/bbb/flag.js",
打开后得到:
// flag = U1lDPX5bXTtTWUM9e19fXzorK1NZQywkJCQkOighW10rIiIpW1NZQ10sX18kOisrU1lDLCRfJF86KCFbXSsiIilbU1lDXSxfJF86KytTWUMsJF8kJDooe30rIiIpW1NZQ10sJCRfJDooU1lDW1NZQ10rIiIpW1NZQ10sXyQkOisrU1lDLCQkJF86KCEiIisiIilbU1lDXSwkX186KytTWUMsJF8kOisrU1lDLCQkX186KHt9KyIiKVtTWUNdLCQkXzorK1NZQywkJCQ6KytTWUMsJF9fXzorK1NZQywkX18kOisrU1lDfTtTWUMuJF89KFNZQy4kXz1TWUMrIiIpW1NZQy4kXyRdKyhTWUMuXyQ9U1lDLiRfW1NZQy5fXyRdKSsoU1lDLiQkPShTWUMuJCsiIilbU1lDLl9fJF0pKygoIVNZQykrIiIpW1NZQy5fJCRdKyhTWUMuX189U1lDLiRfW1NZQy4kJF9dKSsoU1lDLiQ9KCEiIisiIilbU1lDLl9fJF0pKyhTWUMuXz0oISIiKyIiKVtTWUMuXyRfXSkrU1lDLiRfW1NZQy4kXyRdK1NZQy5fXytTWUMuXyQrU1lDLiQ7U1lDLiQkPVNZQy4kKyghIiIrIiIpW1NZQy5fJCRdK1NZQy5fXytTWUMuXytTWUMuJCtTWUMuJCQ7U1lDLiQ9KFNZQy5fX18pW1NZQy4kX11bU1lDLiRfXTtTWUMuJChTWUMuJChTWUMuJCQrIlwiIitTWUMuJF8kXysoIVtdKyIiKVtTWUMuXyRfXStTWUMuJCQkXysiXFwiK1NZQy5fXyQrU1lDLiQkXytTWUMuXyRfK1NZQy5fXysiKCdcXCIrU1lDLl9fJCtTWUMuXyRfK1NZQy5fJCQrIlxcIitTWUMuX18kK1NZQy5fJCQrU1lDLl9fJCsiXFwiK1NZQy5fXyQrU1lDLl9fXytTWUMuXyQkKyJ7XFwiK1NZQy5fXyQrU1lDLl9fXytTWUMuJF9fKyJAXFwiK1NZQy5fXyQrU1lDLiQkJCtTWUMuX18kK1NZQy5fX18rU1lDLl8rIl9cXCIrU1lDLl9fJCtTWUMuX18kK1NZQy4kX18rIlxcIitTWUMuX18kK1NZQy4kXyQrU1lDLl9fJCsiXFwiK1NZQy5fXyQrU1lDLl9fJCtTWUMuXyQkKyJcXCIrU1lDLl9fJCtTWUMuX18kK1NZQy5fJCQrU1lDLiQkJF8rIl9cXCIrU1lDLl9fJCtTWUMuX19fK1NZQy4kX18rU1lDLl8kJCtTWUMuJCRfXytTWUMuXyQrU1lDLiQkXyQrU1lDLiQkJF8rIl9cXCIrU1lDLl9fJCtTWUMuX19fK1NZQy4kXyQrIlxcIitTWUMuX18kK1NZQy4kXyQrU1lDLiQkXysiXFwiK1NZQy5fXyQrU1lDLl9fXytTWUMuXyQkK1NZQy5fJCtTWUMuJCRfJCsiXFwiK1NZQy5fXyQrU1lDLl9fXytTWUMuJF8kKyJ9Jyk7IisiXCIiKSgpKSgpOw==
base64解码后得到:
❯ echo xxx |base64 -d
SYC=~[];SYC={___:++SYC,$$$$:(![]+"")[SYC],__$:++SYC,$_$_:(![]+"")[SYC],_$_:++SYC,$_$$:({}+"")[SYC],$$_$:(SYC[SYC]+"")[SYC],_$$:++SYC,$$$_:(!""+"")[SYC],$__:++SYC,$_$:++SYC,$$__:({}+"")[SYC],$$_:++SYC,$$$:++SYC,$___:++SYC,$__$:++SYC};SYC.$_=(SYC.$_=SYC+"")[SYC.$_$]+(SYC._$=SYC.$_[SYC.__$])+(SYC.$$=(SYC.$+"")[SYC.__$])+((!SYC)+"")[SYC._$$]+(SYC.__=SYC.$_[SYC.$$_])+(SYC.$=(!""+"")[SYC.__$])+(SYC._=(!""+"")[SYC._$_])+SYC.$_[SYC.$_$]+SYC.__+SYC._$+SYC.$;SYC.$$=SYC.$+(!""+"")[SYC._$$]+SYC.__+SYC._+SYC.$+SYC.$$;SYC.$=(SYC.___)[SYC.$_][SYC.$_];SYC.$(SYC.$(SYC.$$+"\""+SYC.$_$_+(![]+"")[SYC._$_]+SYC.$$$_+"\\"+SYC.__$+SYC.$$_+SYC._$_+SYC.__+"('\\"+SYC.__$+SYC._$_+SYC._$$+"\\"+SYC.__$+SYC._$$+SYC.__$+"\\"+SYC.__$+SYC.___+SYC._$$+"{\\"+SYC.__$+SYC.___+SYC.$__+"@\\"+SYC.__$+SYC.$$$+SYC.__$+SYC.___+SYC._+"_\\"+SYC.__$+SYC.__$+SYC.$__+"\\"+SYC.__$+SYC.$_$+SYC.__$+"\\"+SYC.__$+SYC.__$+SYC._$$+"\\"+SYC.__$+SYC.__$+SYC._$$+SYC.$$$_+"_\\"+SYC.__$+SYC.___+SYC.$__+SYC._$$+SYC.$$__+SYC._$+SYC.$$_$+SYC.$$$_+"_\\"+SYC.__$+SYC.___+SYC.$_$+"\\"+SYC.__$+SYC.$_$+SYC.$$_+"\\"+SYC.__$+SYC.___+SYC._$$+SYC._$+SYC.$$_$+"\\"+SYC.__$+SYC.___+SYC.$_$+"}');"+"\"")())();
这是一串js混淆代码,直接复制到浏览器Console执行:
flag:
SYC{D@y0u_LiKKe_D3code_EnCodE}
0x07 题目:ezR_F_I
GeekChallengeUser ~ % ./ezR_F_I=== challenge info ===
type: web
points: 150
description: http://121.5.62.30:7005/
hint: 想要得到flag就快来包含一下叭 可能你需要一台具有公网ip的服务器
=== challenge info ===
解题思路
进入地址:http://121.5.62.30:7005/
很明显这是远程包含漏洞,经过测试,过滤了http://
可以双写绕过:hthttp://tp://
然后把写好的一句话木马用公网ip的服务器进行远程包含即可
注意这里后缀会自动补上
.html
所以传进去的
[Geek Challenge 2022]Web部分 writeup by q1jun相关推荐
- [Geek Challenge 2022] crypto部分
这个比赛是一个网友让我看看的,这个比赛很有意思,crypto题全是百度网盘,pwn题全是谷歌网盘,这样我这pwn题就基本over了.还好这些crypto都不怎么难,都答出来了.最后成绩到10名了. w ...
- 2022 lineCTF WEB复现WriteUp
lineCTF WEB复现WriteUp Gotm is_admin == true就给flag,需要伪造token,需要秘钥才行 再往下看,经典SSTI 如果能控制acc也就是id为{{.}},就能 ...
- 【ByteCTF 2022】Crypto Writeup
ByteCTF 2022 密码 Crypto writeup Choose_U_flag Compare Card Shark 文章目录 1. Choose_U_flag 题目分析 初始化参数 加密过 ...
- 【2022羊城杯WriteUp By EDISEC】
2022羊城杯WriteUp By EDISEC Web little_db Safepop rce_me step_by_step-v3 ComeAndLogin simple_json Misc ...
- i春秋2020新春公益赛WEB复现Writeup
i春秋2020新春公益赛WEB复现Writeup 说实话这个比赛打的我是一点毛病都没有,还是觉得自己掌握的东西太少了,,, 尤其是sql注入,都被大佬们玩出花来了,可能自己太菜,,,哭了!!! 关于S ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- CTF Geek Challenge——第十一届极客大挑战Web Write Up
比赛时间:2020年10月17日早上9点 比赛时限:一个月 0x1 Welcome sha1绕过 Postman发送POST请求 sha1绕过 线索 Not Found But 这个Not Found ...
- CGCTF平台web题writeup
前言 大概的做了做CGCTF的web题,基本都做出来了,在这整理了一下writeup,其中一些十分简单的题,就大概的写了些,后面一些难题会更详细,需要的可以直接拉倒最后面.共勉. 正文 签到题 10p ...
- DASCTF X CBCTF 2022九月挑战赛 WriteUp
BBBB WRITEUP MISC easy_keyboard Sign_in ezflow Mask Reverse landing web dino3d Text Reverser PWN ez_ ...
最新文章
- mysql主主复制+keepalived 打造高可用mysql集群
- 如何修改tomcat端口
- JVM内存管理概述与android内存泄露分析
- putty连虚拟机中Linux出现Access Denied
- 数据结构--链表--约瑟夫环问题(单向循环链表)
- HDU 1286 找新朋友 (欧拉函数)
- 由已有数组创建新数组:concat()splice()方法
- NLog文章系列——入门教程(转)
- MATLAB滤波demo
- 【云计算学习教程】云计算终端技术详解
- T检验和p-value含义及计算公式
- JZOJ5442【NOIP2017提高A组冲刺11.1】荒诞 三进制状压+欧拉序
- c语言if后面的表达式是什么类型,if语句后面的表达式应该是什么?
- WPS格式转换PPT格式小技巧
- 干货,主流大数据技术总结
- DRF-视图类APIView与GenericAPIView
- 数据仓库开发之路之一--准备工作
- linux端口抓包工具下载,linux下的抓包工具tcpdump
- 微信小程序—WXCC模板样式
- JavaScript 脚本
热门文章
- Mybatis(一)——【快速入门、增删查改操作、核心配置文件描述及API】
- ssh访问控制,封杀ip,防止暴力破解
- 如何删除顽固的 AVI 格式的影音文件
- Facebook sdk嵌入,登陆与注销
- java web QQ(二)
- 基于JSP的IQ智力测试系统
- 计算机考研报名专业是哪个,考研报名毕业专业计算机怎么填?
- 通过创建动态类型 动态构建Expression Select表达式来控制Property可见性
- 清华大学计算机考研经历,从普通一所大学考研到清华有多难?
- java习题7参考练习及答案_Java基础练习题及详细答案